首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 陣列比較運算子詳解:==, ===, +, array_merge 差異與多維陣列判斷

     編輯:PHP 相關知識

比較運算子

運算子名稱條件
==相等鍵值對相同(順序、型別可不同)
===全等鍵值對、順序、型別皆相同
!= / <>不等不相等
!==不全等不全等

多維陣列同樣適用,遞迴比較。

數字索引陣列陷阱

$a = array("apple", "banana");           // 0=>apple, 1=>banana
$b = array(1 => "banana", "0" => "apple"); // 1=>banana, 0=>apple
var_dump($a == $b);  // true
var_dump($a === $b); // false (順序不同)

聯合運算子 + vs array_merge

$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

$c = $a + $b; // 左優先:a=>apple, b=>banana, c=>cherry
$c = array_merge($a, $b); // 後覆蓋前:a=>pear, b=>strawberry, c=>cherry
  • +:左陣列鍵名優先,右陣列僅補足左陣列不存在的鍵。
  • array_merge:數字索引重新排序;字串鍵名後者覆蓋前者。

替代比較方法

array_diff($a, $b) 取差集,若結果為空陣列則視為相等(僅比較值,忽略鍵名)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved