欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么取数组的交集,求大神指导

程序员文章站 2024-01-14 15:36:28
...
这是两个二维数组$arr,$arr1,怎么取出相同的交集$arr = array(		array("id" => "3","name" => "张三"),		array("id" => "6","name" => "李四"),		array("id" => "8","name" =>  "王五"),		array("id" => "18","name" => "赵六"),	 	array("id" => "20","name" => "七七")	 );$arr1 = array(		array("id" => "6","name" => "张三",),                array("id" => "18","name" => "赵六"),);想要的结果是array(		array("id" => "6","name" => "张三",),                array("id" => "18","name" => "赵六"));


回复讨论(解决方案)

$arr = array(        array("id" => "3","name" => "张三"),        array("id" => "6","name" => "李四"),        array("id" => "8","name" =>  "王五"),        array("id" => "18","name" => "赵六"),        array("id" => "20","name" => "七七")     );$arr1 = array(        array("id" => "6","name" => "张三",),        array("id" => "18","name" => "赵六"),);foreach($arr as $a)  foreach($arr1 as $k=>$b)    if($a == $b) {      $r[] = $b;      unset($arr1[$k]);    }print_r($r);
Array(    [0] => Array        (            [id] => 18            [name] => 赵六        ))

可是我想要的结果是这个:

$arr1 = array(        array("id" => "6","name" => "张三",),        array("id" => "18","name" => "赵六"),);

是我看错了,sorry