ホームページ  >  記事  >  バックエンド開発  >  PHP 配列から同一の項目を削除する

PHP 配列から同一の項目を削除する

WBOY
WBOYオリジナル
2016-06-23 13:05:061270ブラウズ

$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 は影響を受けます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。