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

PHP 数组去掉相同项

程序员文章站 2022-04-11 19:23:15
...
$a = array(    array("id"=>7, "title"=>"a"),    array("id"=>5, "title"=>"z"),);$b = array(    array("id"=>5, "title"=>"a"),    array("id"=>1, "title"=>"z"),    array("id"=>2, "title"=>"z"),);//去掉 $b中 id 在 $a 中存在的项//结果$b = array(    array("id"=>1, "title"=>"z"),    array("id"=>2, "title"=>"z"),);


回复讨论(解决方案)

$a = array(    array("id"=>7, "title"=>"a"),    array("id"=>5, "title"=>"z"),); $b = array(    array("id"=>5, "title"=>"a"),    array("id"=>1, "title"=>"z"),    array("id"=>2, "title"=>"z"),); foreach($b as $k=>$v)  foreach($a as $t) if($v['id'] == $t['id']) unset($b[$k]);print_r($b);
Array(    [1] => Array        (            [id] => 1            [title] => z        )    [2] => Array        (            [id] => 2            [title] => z        ))

$a = array(    array("id"=>7, "title"=>"a"),    array("id"=>5, "title"=>"z"),); $b = array(    array("id"=>5, "title"=>"a"),    array("id"=>1, "title"=>"z"),    array("id"=>2, "title"=>"z"),); foreach($b as $k=>$v)  foreach($a as $t) if($v['id'] == $t['id']) unset($b[$k]);print_r($b);
Array(    [1] => Array        (            [id] => 1            [title] => z        )    [2] => Array        (            [id] => 2            [title] => z        ))


在循环的过程中移除某个项,接下来的循环不受影响?

foreach 不受影响
for 受影响