ホームページ > バックエンド開発 > PHPの問題 > PHPで2つの配列から異なる値を取得する方法

PHPで2つの配列から異なる値を取得する方法

青灯夜游
リリース: 2023-03-16 19:24:02
オリジナル
2833 人が閲覧しました

異なる値を取得する 3 つの方法: 1. 配列のキー値を比較し、異なる値を含む差分配列を返します。構文は「array_diff(array 1, array 2)」です。 2. 配列のキー名を比較し、異なる値を含む差分配列を返します (構文は「array_diff_key(array 1, array 2)」です)。 3. 配列のキー名とキー値を比較し、異なる値を含む差分配列を返します。構文は「array_diff_assoc(配列 1, 配列 2)」です。

PHPで2つの配列から異なる値を取得する方法

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php はさまざまな値を取得します。 2 つの配列、比較です。 2 つの配列、差分セットを取得します。

PHP では配列を比較する場合、キー値のみの比較、キー名のみの比較、キー値とキー名の比較の 3 つの状況があります。 3 つの組み込み関数に対応します:

  • array_diff()

  • array_diff_key()

  • array_diff_assoc ()

例を通して学びましょう:

1. array_diff() 関数を使用します -- キー値を比較しますarray

array_diff() 関数は、2 つ (またはそれ以上) の配列の値を比較し、その差を返すために使用されます。

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

この関数は、2 つ (またはそれ以上) の配列 (key=>value in value) の値を比較し、比較されるすべての配列 (array1) を含む差分配列を返します。ただし、他のパラメータ配列 (array2 や array3 など) には含まれません。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array(1,2,3,4,5,6);
$arr2=array(2,4,6,8,10,12);
var_dump($arr1);
var_dump($arr2);

echo "两个数组的不同值:";
$result=array_diff($arr1,$arr2);
var_dump($result);
?>
ログイン後にコピー

PHPで2つの配列から異なる値を取得する方法

2. array_diff_key() 関数を使用して配列のキー名を比較します

array_diff_key() 関数は次の目的で使用されます。 (またはそれ以上の) 配列の 2 つのキー名を比較し、差分セットを返します。

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

この関数は、2 つ (またはそれ以上) の配列のキー名を比較し、比較された配列 (array1) 内のすべてを含むが他のパラメーターには含まれない差分配列を返します。配列内のキー名 (array2 または配列3など)。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
var_dump($arr1);
var_dump($arr2);

echo "两个数组的不同值:";
$result=array_diff_key($arr1,$arr2);
var_dump($result);
?>
ログイン後にコピー

上の例では、配列 $arr1 と配列 $arr2 に異なる 2 つのキー名があります。配列 $arr1 に基づいて、値 ""c"=> が計算されます。 " blue"" および ""d"=>" yellow"" であるため、出力結果は次のようになります:

PHPで2つの配列から異なる値を取得する方法

3、array_diff_assoc() 関数を使用します - 配列のキー名とキー値を比較します。

array_diff_assoc() 関数は、2 つのキー名とキー値を比較するために使用されます (またはmore) 配列を取得し、差分セットを返します。

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

この関数は、2 つ (またはそれ以上) の配列のキー名とキー値を比較し、比較された配列 (array1) 内のすべてを含むが、どの Key にも含まれない差分配列を返します。他のパラメーター配列 (array2 または array3 など) の名前とキー値。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow");
var_dump($arr1);
var_dump($arr2);

echo "两个数组的不同值:";
$result=array_diff_assoc($arr1,$arr2);
var_dump($result);
?>
ログイン後にコピー

上記の例では、$arr1 配列と $arr2 配列を比較しています。3 つの異なる要素があり、値 ""a"=>"red が取得されます。配列 $arr1. "", ""c"=>"blue"", ""d"=>" yellow"" なので、出力結果は次のとおりです:

PHPで2つの配列から異なる値を取得する方法

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで2つの配列から異なる値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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