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 受影响