作者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