看板 PHP 關於我們 聯絡資訊
有個二維陣列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
Jerr:call_user_func_array('array_intersect', $Array); 02/24 18:19
Jerr:hp 02/24 18:20
Talenius:我想問的是二維陣列中取特定兩列的比較 02/24 22:06
Talenius:不了解j大的建議,因為無法直接指定二維陣列中的某二列 02/24 22:16
Jerr:array_intersect($arr1, $arr2, $arr3, ... ) 02/24 23:17
Jerr:call_user_func_array 則是把 $array 當參數丟給 function 02/24 23:17
Talenius:我了解array_intersect可以比較陣列 02/24 23:49
Talenius:但如何指定二維陣列的某二列? 如何寫該參數? 02/24 23:50
Talenius:可能j大建立的二維陣列是$array={$arr1, $arr2,..}的方式 02/24 23:52
Talenius:所以可以用array_intersect($arr1, $arr2,...)的方式 02/24 23:53
Talenius:但我建立的二維陣列是$array[x][y] 02/24 23:54
Talenius:無法用array_intersect($array[x1][?],$array[x2][?],..) 02/24 23:55
Jerr:你用var_dump把你的$array dump出來看你就知道結構了 02/25 10:38
Jerr:去寫code驗證 02/25 10:38
Jerr:答案就是array_intersect($arr[1], $arr[2]); 然後再 02/25 10:39
Jerr:array_intersect($ret, $arr[3]); $ret 是前一行的 return 02/25 10:40
Jerr:而 array_intersect 其實可以一次完成 因為是and的概念 02/25 10:41
Jerr:array_intersect($arr[1], $arr[2], $arr[3]); 答案一樣 02/25 10:41
Jerr:如果$arr裡有不確定數量的rows, 就用call_user_func_array() 02/25 10:42
Jerr:一次餵給array_intersect 02/25 10:42