花蓮 豐坪雲山水夢幻湖 |
在資料比較的時候,使用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
- )