我想檢查一個數組中的元素是否已經存在於另一個數組中。如果它存在,那麼我想將第一個數組中的所有元素添加到一個新的關聯數組中,並添加一個額外的鍵值([check] => 0/1)以指示該元素是否存在於另一個數組中。檢查數組中的元素是否存在於另一個數組中的PHP
這是我嘗試過的示例代碼。
$first = array("0"=> 111, "1"=>222, "2"=>333, "3"=> 444);
$second = array("0"=> 22, "1"=>234, "2"=> 456);
$final_array = array();
foreach($first as $f)
{
if(in_array($f, $second))
{
$final_array['id'] = $f;
$final_array['check'] = 1;
}
else
{
$final_array['id'] = $f;
$final_array['check'] = 0;
}
}
由於某些原因,我只能將最後一個元素添加到$ final_array。有人能告訴我我做錯了什麼嗎?
//Output for $final_array
Array ([id] => 444 [check] => 0)
//final output should look like this
$final_array = array("0"=> array("id" => 111, "check" => 0),
"1" => array("id" => 222, "check" => 1),
"2" => array("id" => 333, "check" => 0),
"3" => array("id" => 444, "check" => 0));
http://php.net/manual/en/function.array-intersect.php – GordonM 2014-10-17 07:58:39