我有两个多维数组,它们是关联行的索引数组。
$array1 = array(
array('name' => 'foo', 'id' => 12),
array('name' => 'bar', 'id' => 34),
array('name' => 'boo', 'id' => 56),
);
$array2 = array(
array('name' => 'bar', 'id' => 34),
array('name' => 'boo', 'id' => 56),
array('name' => 'bar', 'id' => 78),
);
行可能具有不同id
的值但具有相同的name
值——例如bar
在我的示例输入数据中。
我只需要根据id
值比较数组。
预期输出:(因为id
s34
和56
在 中找到$array2
)
array(
array('name' => 'foo', 'id' => 12)
)
我试过$one_not_two = array_diff($array1['id'], $array2['id']);
哪个不返回任何东西。
我也试过$one_not_two = array_diff($array1['id'], $array2['id']);
返回错误“参数不是数组”。
最初,我通过将id
s 提取到一维数组中来解决它,然后只是比较它们。现在,我们应用程序中的一个新功能要求我在保持多维结构的同时比较行。有什么建议吗?
如果这有什么不同的话,我们的服务器目前正在运行 php 5.3。