我有两个多维数组,它们是关联行的索引数组。
$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值比较数组。
预期输出:(因为ids34和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']);
返回错误“参数不是数组”。
最初,我通过将ids 提取到一维数组中来解决它,然后只是比较它们。现在,我们应用程序中的一个新功能要求我在保持多维结构的同时比较行。有什么建议吗?
如果这有什么不同的话,我们的服务器目前正在运行 php 5.3。