花蓮 豐坪雲山水夢幻湖 |
在資料比較的時候,使用array_diff、array_intersect方便很多,以下提出幾項需注意的要點。
array_diff($a,$b);
- 意謂用$a陣列去比較$b陣列, 如果$a有且$b沒有則取出, 所以此時以$a為基準。
- 使用時確保$a跟$b兩個列都不能為空值, 否則會發生錯誤。
- 只比較陣列中key的值。
function myTest() { $tommy = [ 'A0001', 'A0002', 'A0003' ]; $amy = [ 'A0001', 'A0002', 'A0004' ]; //比較兩個陣列內容的差異 $return_diff = array_diff($tommy, $amy); //如果將陣列次序左右對調 $return_diff_01 = array_diff($amy, $tommy); print_r($return_diff); print_r($return_diff_01); }執行結果
//$return_diff 結果 array( [2]=>A0003 ) //$return_diff_01 結果 array( [2]=>A0004 )接下來介紹
array_intersect($a,$b);
比較左右兩陣列, 取出互相重複的值, 沒有左右順位的問題。
function myTest1 { $tom = [ 'red', 'blue', 'yellow' ]; $rudy = [ 'red', 'green', 'yellow' ]; $return_intersect = $array_intersect($tom, $rudy); print_r($return_intersect); }執行結果
//$return_intersect 結果 array( [0]=>A0001 [1]=>A0002 )