程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 判斷數組相等 數組運算符介紹

php 判斷數組相等 數組運算符介紹

編輯:關於PHP編程

如何判斷兩個數組相等呢?其實很簡單,用 == 或者 === 就可以了

php手冊裡說明如下,

例子 名稱 結果
$a + $b 聯合 $a 和 $b 的聯合。
$a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對則為 TRUE。
$a === $b 全等 如果 $a 和 $b 具有相同的鍵/值對並且順序和類型都相同則為 TRUE。
$a != $b 不等 如果 $a 不等於 $b 則為 TRUE。
$a <> $b 不等 如果 $a 不等於 $b 則為 TRUE。
$a !== $b 不全等 如果 $a 不全等於 $b 則為 TRUE。
那像 array('k'=>array())這樣的多維數組能用如上方法判斷相等嗎?當然也可以。

若數組是數字索引的,就要注意一下了,見代碼


[php]
<?php 
$a = array("apple", "banana"); 
$b = array(1 => "banana", "0" => "apple"); 
 
var_dump($a == $b); // bool(true)  
var_dump($a === $b); // bool(false)  
?> 

<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
除了==這種數組操作符之外,還有其他比較繞的方法來判斷。比如說,利用array_diff($a, $b)來比較兩個數組的差集,如果差集是NULL的話就相等了。

然後再說一下 數組的 + 加號運算符。+ 和 array_merge的區別在遇到相等key時,用+時,左邊數組會覆蓋掉右邊數組的值,array_merge相反,後面的數組覆蓋掉前面的。


[php]
<?php 
$a = array("a" => "apple", "b" => "banana"); 
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); 
 
$c = $a + $b; // Union of $a and $b  
echo "Union of \$a and \$b: \n"; 
var_dump($c); 
 
$c = array_merge($a, $b); // Union of $b and $a  
echo "array_merge of \$b and \$a: \n"; 
var_dump($c); 
?> 

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

$c = $a + $b; // Union of $a and $b
echo "Union of \$a and \$b: \n";
var_dump($c);

$c = array_merge($a, $b); // Union of $b and $a
echo "array_merge of \$b and \$a: \n";
var_dump($c);
?>執行後輸出:


[php]
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" 

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"
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved