作者Talenius (Harmonic Inspirations)
看板PHP
標題[請益] 二維陣列的內容如何比較?
時間Thu Feb 24 18:06:00 2011
有個二維陣列Array[a][b],如:
1 2
1 d1 d2
2 d1 d3
3 d4 d1
假設
1. 第一列要跟第二列比較,找到相同的值d1
2. d1再跟第三列比較
在手冊中查到可以用array_intersect比較兩個一維陣列
但現在這個二維陣列,我應該如何寫?
array_intersect(Array[1][?], Array[2][?]);
上一行的[?]即是不清楚該參數如何表達
目前確定是不能這樣寫: array_intersect(Array[1], Array[2]);
請問是否知道有適合二維陣列的寫法?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.13.187
1F:推 Jerr:call_user_func_array('array_intersect', $Array); 02/24 18:19
3F:→ Jerr:hp 02/24 18:20
4F:→ Talenius:我想問的是二維陣列中取特定兩列的比較 02/24 22:06
5F:→ Talenius:不了解j大的建議,因為無法直接指定二維陣列中的某二列 02/24 22:16
6F:推 Jerr:array_intersect($arr1, $arr2, $arr3, ... ) 02/24 23:17
7F:→ Jerr:call_user_func_array 則是把 $array 當參數丟給 function 02/24 23:17
8F:→ Talenius:我了解array_intersect可以比較陣列 02/24 23:49
9F:→ Talenius:但如何指定二維陣列的某二列? 如何寫該參數? 02/24 23:50
10F:→ Talenius:可能j大建立的二維陣列是$array={$arr1, $arr2,..}的方式 02/24 23:52
11F:→ Talenius:所以可以用array_intersect($arr1, $arr2,...)的方式 02/24 23:53
12F:→ Talenius:但我建立的二維陣列是$array[x][y] 02/24 23:54
13F:→ Talenius:無法用array_intersect($array[x1][?],$array[x2][?],..) 02/24 23:55
14F:推 Jerr:你用var_dump把你的$array dump出來看你就知道結構了 02/25 10:38
15F:→ Jerr:去寫code驗證 02/25 10:38
16F:→ Jerr:答案就是array_intersect($arr[1], $arr[2]); 然後再 02/25 10:39
17F:→ Jerr:array_intersect($ret, $arr[3]); $ret 是前一行的 return 02/25 10:40
18F:→ Jerr:而 array_intersect 其實可以一次完成 因為是and的概念 02/25 10:41
19F:→ Jerr:array_intersect($arr[1], $arr[2], $arr[3]); 答案一樣 02/25 10:41
20F:→ Jerr:如果$arr裡有不確定數量的rows, 就用call_user_func_array() 02/25 10:42
21F:→ Jerr:一次餵給array_intersect 02/25 10:42