ホームページ >バックエンド開発 >PHPチュートリアル >PHP カスタム関数を使用して配列の交差と結合の機能を拡張する
配列の交差および共用体の機能は、PHP カスタム関数を使用して拡張できます。カスタム交差関数では、キーまたは値で交差を検索でき、カスタム ユニオン関数では、キーまたは値で共用体を検索できます。これにより、特定のニーズに基づいて配列を柔軟に操作できるようになります。
PHP カスタム関数を使用して配列の交差と共用体を拡張する
PHP では、交差と共用体は 2 つの一般的なデータ操作関数です。使用。ただし、特定のニーズを満たすために機能を拡張する必要がある場合があります。このチュートリアルでは、PHP を使用してカスタム関数を作成し、交差および結合の処理を強化する方法を説明します。
カスタム交差関数
カスタム交差関数を使用すると、検索する交差のキーまたは値を指定できます。作成方法は次のとおりです。
function custom_array_intersect(array $array1, array $array2, $key_or_value = 'key') { $result = []; foreach ($array1 as $key => $value) { if ($key_or_value == 'key') { if (array_key_exists($key, $array2)) { $result[$key] = $array1[$key]; } } else { if (in_array($value, $array2)) { $result[$key] = $array1[$key]; } } } return $result; }
カスタム ユニオン関数
同様に、Or でユニオンを見つけるためのキーを指定できるカスタム ユニオン関数を作成できます。値:
function custom_array_union(array $array1, array $array2, $key_or_value = 'key') { $result = []; foreach ($array1 as $key => $value) { $result[$key] = $array1[$key]; } foreach ($array2 as $key => $value) { if ($key_or_value == 'key') { if (!array_key_exists($key, $result)) { $result[$key] = $array2[$key]; } } else { if (!in_array($value, $result)) { $key_to_use = array_search($value, $array1); if ($key_to_use !== false) { $result[$key_to_use] = $array2[$key]; } else { $new_key = max(array_keys($result)) + 1; $result[$new_key] = $array2[$key]; } } } } return $result; }
実用的なケース
2 つのカスタム関数の実際的なケースをいくつか示します:
交差の例:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3]; $array2 = ['b' => 4, 'c' => 5, 'd' => 6]; $result = custom_array_intersect($array1, $array2, 'key'); print_r($result); // 输出: ['b' => 4, 'c' => 5]
ユニオンの例:
$array1 = ['a' => 1, 'b' => 2, 'c' => 3]; $array2 = ['b' => 4, 'd' => 5, 'e' => 6]; $result = custom_array_union($array1, $array2, 'key'); print_r($result); // 输出: ['a' => 1, 'b' => 4, 'c' => 3, 'd' => 5, 'e' => 6]
以上がPHP カスタム関数を使用して配列の交差と結合の機能を拡張するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。