在編寫php程序時,經(jīng)常需要對數(shù)組進行比較操作。php提供了一個相等運算符“==”用于判斷兩個數(shù)組的所有鍵值是否一致。如果兩個數(shù)組的鍵和值完全相同,則數(shù)組相等。下面我們來看一下具體的例子。
//定義兩個數(shù)組 $a = array('a'=>1, 'b'=>2, 'c'=>3); $b = array('a'=>1, 'b'=>2, 'c'=>3); //比較兩個數(shù)組是否相等 if($a == $b) { echo '兩個數(shù)組相等'; } else { echo '兩個數(shù)組不相等'; }
以上代碼中,$a和$b都是包含三個元素的數(shù)組,元素的鍵分別為‘a(chǎn)’,‘b’和‘c’。由于$a和$b的元素鍵和值一樣,因此他們是相等的。頁面上會輸出“兩個數(shù)組相等”。
相對于比較是否相等,判斷兩個數(shù)組是否不相等有多種方式。一種方式是使用不等運算符“!=”。如果兩個數(shù)組至少有一個鍵值不同,則他們不相等。看如下代碼:
//定義兩個數(shù)組 $c = array('a'=>1, 'b'=>2, 'c'=>3); $d = array('a'=>1, 'b'=>2, 'c'=>4); //比較兩個數(shù)組是否不相等 if($c != $d) { echo '兩個數(shù)組不相等'; } else { echo '兩個數(shù)組相等'; }
以上代碼中,$c和$d都是包含三個元素的數(shù)組,其中除了元素‘c’的值不同外,其余元素鍵和值都一樣。因此,$c和$d是不相等的。頁面上會輸出“兩個數(shù)組不相等”。
除了比較是否相等和是否不相等,還有一種情況需要特別注意——排序問題。如果兩個數(shù)組元素的順序不同,比較結(jié)果也不同。仍然以剛才的例子為例,看下面的代碼:
//定義兩個數(shù)組 $e = array('a'=>1, 'b'=>2, 'c'=>3); $f = array('c'=>3, 'b'=>2, 'a'=>1); //比較兩個數(shù)組是否相等 if($e == $f) { echo '兩個數(shù)組相等'; } else { echo '兩個數(shù)組不相等'; }
以上代碼中,$e和$f包含同樣的元素,只是順序不同。但是由于元素的順序不同,在比較時,$e和$f并不相等。頁面上會輸出“兩個數(shù)組不相等”。
總的來說,php中判斷兩個數(shù)組是否相等還是比較簡單的。只要鍵值都一樣,就可以判定它們相等。不過,在排序問題上需要小心一點。如果對數(shù)組的順序有特別要求,一定要先按照要求進行排序,再比較。
下一篇php 中文json