【发布时间】:2014-04-03 06:35:11
【问题描述】:
我有两个想要相互比较的二维数组:
$array1
Array
(
[0] => Array
(
[A] => GB
[B] => Harry
[C] => British Army
[D] => Eton College
[E] => Cressida Bonas
)
[1] => Array
(
[A] => GB
[B] => William
[C] => Royal Air Force
[D] => Eton College
[E] => Catherine Middleton
)
)
$array2
Array
(
[0] => Array
(
[A] => GB
[B] => Harry
[C] => British Army
[D] => Eton College
[E] => Cressida Bonas
)
[1] => Array
(
[A] => GB
[B] => James
[C] => British Army
[D] => Millfield
[E] => Unknown
)
)
如果任何子数组值不同,则生成一个布尔真/假结果数组,如下所示:
$results_array
Array
(
[0] => Array
(
[0] => true
)
[1] => Array
(
[0] => false
)
)
更新: 两个数组将始终具有相同长度的父数组(但子数组值的长度可能不同)。
我不知道如何以递归方式使用foreach 来获取结果数组。
有什么一般性的想法或建议吗?
【问题讨论】:
-
您希望结果数组包含哪些数据?如果我错了,请纠正我 - 您希望结果数组包含一个重复值的子数组和另一个具有不同值的子数组?
-
使用
var_export转储两个数组并更新您的问题。 -
@JoshuaKissoon 我希望结果数组包含布尔真或假数据类型,具体取决于任何子数组是否重复。例如,对于重复项为 true,对于不同项为 false。将更新问题以使这一点更清楚。
-
@ShankarDamodaran 请原谅我的无知(对数组和 foreach 还是很陌生),但我为什么要用 var_export 转储数组呢?这有什么帮助?
-
@ShankarDamodaran 刚试过
var_export。我明白你的意思了。感谢您的提示。
标签: php arrays foreach associative-array array-difference