$a = 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"),);// Remove the item//Result $b = Array ("id" =>1, "title" = "Z"), Array ("id" =>2, "title" = "Z") in the $a of the ID in the $b,);
Reply to discussion (solution)
$a = 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]);p rint_r ($b);
Array ([ 1] = = Array ( [id] = 1 [title] = Z ) [2] = = Array ( [id] = 2< C8/>[title] (= z ))
$a = 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]);p rint_r ($b);
Array ( [1] = = Array ( [id] = 1 [title] = Z ) [2] = = Array ( [id] = 2 [title] = Z ))
Remove an item during a loop, and the next loop is not affected?
foreach is unaffected
For affected