ホームページ >バックエンド開発 >PHPチュートリアル >複数の foreach ループからの結果の重複排除
$a=array(0 =>array([logo] => Array
(
[id] =>1
[sid ] => 6
)
1=>array([ロゴ] => 配列
(
[id] =>2
[sid] => 6
)
)
foreach ループ $a を使用し、異なる SID のみを表示します。
$last = 0;foreach($a as $r) { foreach($r as $v) { if($last != $v['sid']) echo $v['sid']; $last = $v['sid']; }}array ( 0 => array ( 'logo' => array ( 'id ' => 1, 'sid' => 6, ), 1 => 配列 ( 'id' => 2, 'sid' => 6, ) ), )
$res = array();foreach($a as $v){ if(!isset($res[$v['logo']['sid']])) $res[$v['logo']['sid']] = $v;}print_r(array_values($res));
$last = 0;foreach($a as $r) { foreach($r as $v) { if($last != $v['sid']) echo $v['sid']; $last = $v['sid']; }}ちょうどテストしました。それは、あなたが与えたコードにいくつかの欠陥があることを意味し、それを改善しました. :
$res = array();foreach($a as $v){ if(!isset($res[$v['logo']['sid']])) $res[$v['logo']['sid']] = $v;}print_r(array_values($res));私の質問が明確ではなかったかもしれませんが、主に同じフィールドの重複した結果を削除することで解決できました。