Php 如何获得阵列差异
我有两个多维数组 包含一些可用名称的数组1:Php 如何获得阵列差异,php,multidimensional-array,difference,Php,Multidimensional Array,Difference,我有两个多维数组 包含一些可用名称的数组1: Array1 ( [0] => Array ( [quantity] => 13 [idname] => 3 [x_name] => Name-3 ) [1] => Array ( [quantity] => 5 [idname] => 4 [x_name] => Name
Array1
(
[0] => Array
(
[quantity] => 13
[idname] => 3
[x_name] => Name-3
)
[1] => Array
(
[quantity] => 5
[idname] => 4
[x_name] => Name-4
)
)
Array2
(
[0] => Array
(
[id_x] => 3
[x_name] => Name-3
[id_l] => 4
)
[1] => Array
(
[id_x] => 4
[x_name] => Name-4
[id_l] => 8
)
[2] => Array
(
[id_x] => 5
[x_name] => Name-5
[id_l] => 7
)
[3] => Array
(
[id_x] => 6
[x_name] => Name-6
[id_l] => 5
)
)
和Array2,其中包含所有可用名称:
Array1
(
[0] => Array
(
[quantity] => 13
[idname] => 3
[x_name] => Name-3
)
[1] => Array
(
[quantity] => 5
[idname] => 4
[x_name] => Name-4
)
)
Array2
(
[0] => Array
(
[id_x] => 3
[x_name] => Name-3
[id_l] => 4
)
[1] => Array
(
[id_x] => 4
[x_name] => Name-4
[id_l] => 8
)
[2] => Array
(
[id_x] => 5
[x_name] => Name-5
[id_l] => 7
)
[3] => Array
(
[id_x] => 6
[x_name] => Name-6
[id_l] => 5
)
)
Array1[][idname]=Array2[][id_x]
和
阵列1[][x_名称]=阵列2[][x_名称](ofc…)
我的愿望输出将是Array2中Array1不包含的所有元素。。。因此:
Arraydesire
(
[0] => Array
(
[id_x] => 5
[x_name] => Name-5
[id_l] => 7
)
[1] => Array
(
[id_x] => 6
[x_name] => Name-6
[id_l] => 5
)
)
我试过使用array_intersect,但没有成功。
感谢您的帮助。请查看数组_diff()
如果失败,您可能需要编写一个循环,该循环在array2中运行,并查看其是否在array1中,如果未在array1中,则将其添加到新数组并输出该数组。您可以使用嵌套的foreach循环。如果在array1中找到array2当前元素的值,请删除该元素:
foreach($array2 as $key => $value){
foreach($array1 as $val){
if($value['x_name']==$val['x_name']){
unset($array2[$key]);
$break;
}
}
}
var_dump($array2);
现场示例:谢谢。它真的很有用!