php 判斷兩個數組是否相等
阿新 • • 發佈:2018-07-11
運算符 個數 col === bsp body ebo 相等 ()
如何判斷兩個數組相等呢?其實很簡單,用 == 或者 === 就可以了
那像 array(‘k‘=>array())這樣的多維數組能用如上方法判斷相等嗎?當然也可以。
若數組是數字索引的,就要註意一下了,見代碼:
1 <?php 2 $a = array("apple", "banana"); 3 $b = array(1 => "banana", "0" => "apple"); 4 5 var_dump($a == $b); // bool(true) 6 var_dump($a === $b); // bool(false) 7 ?>
除了==這種數組操作符之外,還有其他比較繞的方法來判斷。比如說,利用array_diff($a, $b)來比較兩個數組的差集,如果差集是空數組的話就相等了。
然後再說一下 數組的 + 加號運算符。+ 和 array_merge的區別在遇到相等key時,用+時,左邊數組會覆蓋掉右邊數組的值,array_merge相反,後面的數組覆蓋掉前面的。
1 <?php 2 $a = array("a" => "apple", "b" => "banana"); 3 $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");4 5 $c = $a + $b; // Union of $a and $b 6 echo "Union of \$a and \$b: \n"; 7 var_dump($c); 8 9 $c = array_merge($a, $b); // Union of $b and $a 10 echo "array_merge of \$b and \$a: \n"; 11 var_dump($c); 12 ?>
執行後輸出:
Union of $a and $b: array(3) { ["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> string(6) "cherry" } array_merge of $b and $a: array(3) { ["a"]=> string(4) "pear" ["b"]=> string(10) "strawberry" ["c"]=> string(6) "cherry" }
php 判斷兩個數組是否相等