我有这个多维数组(称为$ values):
Array
(
[0] => Array
(
[0] => 5
[1] => 2
[2] => 5
[3] => 6
)
[1] => Array
(
[0] => 3
[1] => 4
[2] => 5
[3] => 6
)
[2] => Array
(
[0] => 1
[1] => 2
[2] => 4
[3] => 5
)
[3] => Array
(
[0] => 9
[1] => 5
[2] => 3
[3] => 2
)
)
我想使用diff
PHP函数计算此多维数组的每个元素(数组)之间的array_diff
。我首先想到的是将多维数组拆分为单个数组:
for($cnt = 0; $cnt < count($values); $cnt++){
for($cntB = 0; $cntB < 4; $cntB++){
${'arr'.$cnt}[] = $values[$cnt][$cntB];
}
}
在此之后,我有几个名为$arr1
,$arr2
的数组,依此类推。由于数组$values
的维度可能会有所不同(并且它会),我无法找到将所有生成的单个数组传递给函数array_diff
的方法,
有什么想法吗?
提前致谢。
答案 0 :(得分:5)
不确定这是否是您想要的,因为我没有阅读所有内容,但请查看:
call_user_func_array('array_diff', $values)
也许这就是你想要的。
答案 1 :(得分:0)
function diff() {
$args = func_get_args();
// $args how has all the arrays you passed in.
}
答案 2 :(得分:0)
而不是
${'arr'.$cnt}[] = ...
使用
$arr[$cnt][] = ...
问题解决了。 :)
当你真正想要的是一个数组时,不需要变量变量。