我想知道该怎么做。我有两个数组,我需要将它们分配给一个变量。以下示例显示了输出。当我使用print_r()
打印输出时,我要匹配的值是“ id_car ”..
1)用于此数组的变量是$ data。
Array ( [0] => 26 )
2)用于此数组的变量是$ dataKereta。
Array ( [0] => Array ( [0] => 25 [id_car] => 25 [1] => 23 [id_user] => 23 )
[1] => Array ( [0] => 26 [id_car] => 26 [1] => 23 [id_user] => 24)
[2] => Array ( [0] => 27 [id_car] => 27 [1] => 23 [id_user] => 25 ) )
我想要的是,在第一个数组中找到与第二个数组相同的值,如果相同则将它们分配给变量..
我试过这样做
foreach ($dataKereta as $dk => $dk1) {
if($data[$dk] != $dk1['id_car']) {
$not_same[] = $dk1;
}
else {
$same[] = $dk1;
}
}
我上面的代码找到了匹配值,如果不匹配则分配到$ not_same变量中,否则..当代码为第一个变量时,这个代码是正常的:
Array ( [0] => 25 [1] => 26 )
但是如果我删除“[0] => 25”值,它就开始没有检测到26 ..我很抱歉英语不好。
答案 0 :(得分:0)
如果您的数据包含多个元素,请尝试此操作
即$ data =(0 =>'26',1 => '27');
foreach ($data as $dataval) {
foreach ($dataKereta as $key=>$dk) {
if ($dataval == $dk['id_car']) {
$same[] = $dk['id_car'];
}
}
}
foreach ($dataKereta as $key=>$dk) {
if (!in_array($dk['id_car'],$same)) {
$not_same[] = $dk['id_car'];
}
}
<强>结果强>
相同:
数组([0] =&gt; 26 [1] =&gt; 27)
not_same:
数组([0] =&gt; 25)