【发布时间】:2020-03-23 00:06:50
【问题描述】:
我有两个多维数组。我想检查数组 1 中的每个项目,看看它是否在数组 2 中,反之亦然。
例如:
$arr1 = [
[
id => '1',
order => '123238'
],
[
id => '2',
order => '33278'
],
[
id => '3',
order => '8892372'
]
];
$arr2 = [
[
id => '1',
order => '349483'
],
[
id => '2',
order => '9837283'
],
[
id => '3',
order => '33278'
]
];
我想通过order查看。
所以是这样的:
if($arr1['order'] does not exist in $arr2['order']) {
echo 'abc';
}
if($arr2['order'] does not exist in $arr1['order']) {
echo 'xyz';
}
我考虑过为两者都做foreach 循环,但它不会让我知道arr # 它丢失了。
我怎样才能做到这一点?
【问题讨论】:
-
使用 in_array() 函数它应该适合你。
-
一种方法是:将两个数组映射到它们的顺序,然后使用
array_diff计算两者之间的差异。 -
如果 id 不同,
in_array会起作用吗? -
另外,请注意,您不应使用假定的字符串作为数组索引。
-
您可能应该在定义数组的
id和order中添加一些引号。
标签: php arrays object multidimensional-array associative-array