は 2 つの配列が等しいかどうかをどのように判断しますか?実際は非常に簡単で、== または === を使用するだけです
PHPマニュアルの説明は次のとおりです:
array('k'=>array()) のような多次元配列は、上記の方法を使用して等しいと判断できますか?もちろんできます。
配列が数値的にインデックス付けされている場合は、注意する必要があります。コードを参照してください:
コードをコピーします コードは次のとおりです:
$a = array("リンゴ", "バナナ");
$b = array(1 => "バナナ", "0" => "リンゴ");
var_dump($a == $b) // bool(true)
var_dump($a === $b); // bool(false)
?>
配列演算子 == に加えて、さらに複雑な判断方法があります。たとえば、array_diff($a, $b) を使用して、2 つの配列の差分セットを比較します。差分セットが空の配列である場合、それらは等しいです。
次に、配列の + プラス演算子について説明します。 + と array_merge の違いは、等しいキーが見つかった場合、+ を使用すると、左側の配列が右側の配列の値を上書きするのに対し、array_merge では、後の配列が前の配列を上書きすることです。
コードをコピーします コードは次のとおりです:
$a = array("a" => "リンゴ", "b" => "バナナ");
$b = array("a" => "梨", "b" => "イチゴ", "c" => "サクランボ");
$c = $a + $b // $a と $b の結合
;
echo "$a と $b の和集合: n";
var_dump($c);
$c = array_merge($a, $b) // $b と $a の結合
;
echo "$b と $a の array_merge: n";
var_dump($c);
?>
実行後の出力:
コードをコピーします コードは次のとおりです:
$a と $b の和集合:
配列(3) {
["a"]=>
string(5) "リンゴ"
["b"]=>
string(6) "バナナ"
["c"]=>
string(6) "チェリー"
}
$b と $a の array_merge:
配列(3) {
["a"]=>
string(4) "梨"
["b"]=>
string(10) "イチゴ"
["c"]=>
string(6) "チェリー"
}