ホームページ > バックエンド開発 > PHPチュートリアル > PHP8 の配列関数: array_intersect_assoc() のさまざまな操作の例

PHP8 の配列関数: array_intersect_assoc() のさまざまな操作の例

王林
リリース: 2023-05-18 08:30:02
オリジナル
1480 人が閲覧しました

PHP 言語は、Web 開発やサーバーサイド スクリプト プログラミングで広く使用されている言語であり、強力な配列関数のサポートは、その優れたパフォーマンスの重要な要素の 1 つです。 PHP8 では、新しい配列関数 array_intersect_assoc() が導入されました。これは、連想配列を操作する際のパフォーマンスがより効率的で、より便利に使用できます。この記事では、array_intersect_assoc() 関数の使用法を紹介し、そのさまざまな操作方法と実際のアプリケーション シナリオを示すさまざまな例を示します。

1. array_intersect_assoc() の基本的な使用法

array_intersect_assoc() 関数は、2 つ以上の連想配列を比較し、すべての入力と同じ値を含む新しい連想配列を返すために使用されます。配列。キーと値が等しい要素があります。構文は次のとおりです。

array_intersect_assoc(array1,array2,array3,...)
ログイン後にコピー

ここで、各入力パラメータは連想配列であり、同じキーと値を見つけるために比較されます。戻り値は、すべての入力配列と等しいキーと値を持つ要素を含む新しい連想配列です。以下は簡単な例です:

$array1 = array("a"=>"red","b"=>"green","c"=>"blue");
$array2 = array("a"=>"red","b"=>"blue");
$result = array_intersect_assoc($array1,$array2);
print_r($result);
ログイン後にコピー
ログイン後にコピー

出力結果は次のとおりです:

Array ( [a] => red )
ログイン後にコピー
ログイン後にコピー

これは、キー「a」を持つ要素のみが両方の入力配列に存在し、値が等しいためです。

2. array_intersect_assoc() と array_intersect() の違い

array_intersect() 関数との違いは、array_intersect_assoc()関数は要素の値を比較するだけでなく、要素のキーも比較します。したがって、キーと値のペアの関係をより正確に検出して処理します。この違いを説明する例を見てみましょう:

$array1 = array("a"=>1,"b"=>2,"c"=>3);
$array2 = array(2=>"b",3=>"a",4=>"c");
$result1 = array_intersect($array1,$array2);
$result2 = array_intersect_assoc($array1,$array2);
print_r($result1);
print_r($result2);
ログイン後にコピー

出力結果は次のとおりです:

Array ( [b] => 2 )
Array ( [a] => 1 )
ログイン後にコピー

ご覧のとおり、array_intersect() 関数は次の値のみを検出します。要素を検索し、同じ値「2」を見つけます。array_intersect_assoc() 関数は、同じ値を持つ要素「2」を見つけるだけでなく、同じキーを持つ要素「a」も見つけます。価値。これは 2 つの関数の違いの 1 つです。

3. 複数の配列の比較演算

array_intersect_assoc()関数は 2 つの配列を比較するだけでなく、複数の配列を比較することもできます。次の例は、3 つの配列を比較する方法を示しています。

$array1 = array("a"=>"red","b"=>"green","c"=>"blue");
$array2 = array("a"=>"red","b"=>"blue");
$array3 = array("a"=>"red","b"=>"green");
$result = array_intersect_assoc($array1,$array2,$array3);
print_r($result);
ログイン後にコピー

出力結果は次のとおりです。

Array ( [a] => red )
ログイン後にコピー
ログイン後にコピー

これは、キー「a」を持つ要素のみが 3 つの入力配列に存在し、値が等しい。

4. 要素の欠落

異なる入力配列のキーまたは値が等しくない場合、それらは結果に含まれません。入力配列のいずれかにキーが欠落している場合、そのキーは結果に含まれません。例:

$array1 = array("a"=>"red","b"=>"green","c"=>"blue");
$array2 = array("a"=>"red","d"=>"blue");
$result = array_intersect_assoc($array1,$array2);
print_r($result);
ログイン後にコピー

出力結果は空の配列です。

5. キー名またはキーの順序を保持する

デフォルトでは、array_intersect_assoc() 関数はキー名を保持し、結果の配列内での相対的な順序を維持します。例:

$array1 = array("a"=>"red","b"=>"green","c"=>"blue");
$array2 = array("a"=>"red","b"=>"blue");
$result = array_intersect_assoc($array1,$array2);
print_r($result);
ログイン後にコピー
ログイン後にコピー

出力結果は次のとおりです:

Array ( [a] => red [b] => green )
ログイン後にコピー
ログイン後にコピー

結果をキー名のアルファベット順に並べ替える場合は、ksort() 関数を使用できます。

$array1 = array("a"=>"red","b"=>"green","c"=>"blue");
$array2 = array("a"=>"red","b"=>"blue");
$result = array_intersect_assoc($array1,$array2);
ksort($result);
print_r($result);
ログイン後にコピー

出力結果は次のとおりです。

Array ( [a] => red [b] => green )
ログイン後にコピー
ログイン後にコピー

キー名を保持せず、要素の値のみを保持する場合は、 array_intersect() を使用できます。 関数、以下に示す:

$array1 = array("red","green","blue");
$array2 = array("red","blue");
$result = array_intersect($array1,$array2);
print_r($result);
ログイン後にコピー

出力結果は次のとおりです:

Array ( [0] => red [2] => blue )
ログイン後にコピー

6. 概要

array_intersect_assoc() 関数は次のいずれかです。 PHP8 で導入された新しい配列関数。連想配列の比較と演算をより正確、効率的、便利に実行します。この記事では、基本的な使い方、array_intersect() 関数との違い、複数の配列の比較演算、要素の欠落、保持キーの名前など、さまざまな計算や演算を実行するためのさまざまな例とその使用方法を紹介します。またはキーの並べ替えなど。 PHP 開発者にとって、これらの操作に精通して習得すると、さまざまな連想配列操作の要件をより簡単かつ効率的に処理できるようになります。

以上がPHP8 の配列関数: array_intersect_assoc() のさまざまな操作の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート