tde*_*ecs 7 php arrays associative-array compare extract
我有这两个数组:
$arr1=array( array("id" => 8, "name" => "test1"),
array("id" => 4, "name" => "test2"),
array("id" => 3, "name" => "test3")
);
$arr2=array( array("id" => 3),
array("id" => 4)
);
Run Code Online (Sandbox Code Playgroud)
我如何从$ arr1"提取"数组,其中id在$ arr2中具有相同的值,进入一个新数组,并将提取的数组也保留在一个新数组中,而不考虑关键顺序?
我正在寻找的输出应该是:
$arr3=array(
array("id" => 8, "name" => "test1")
);
$arr4=array( array("id" => 4, "name" => "test2"),
array("id" => 3, "name" => "test3")
);
Run Code Online (Sandbox Code Playgroud)
谢谢
我确信有一些现成的魔法数组函数可以处理这个,但这是一个基本的例子:
$ids = array();
foreach($arr2 as $arr) {
$ids[] = $arr['id'];
}
$arr3 = $arr4 = array();
foreach($arr1 as $arr) {
if(in_array($arr['id'], $ids)) {
$arr4[] = $arr;
} else {
$arr3[] = $arr;
}
}
Run Code Online (Sandbox Code Playgroud)
输出将与您想要的输出相同.实例: