我在控制器中有两个结果数组。我想检查第一个数组中的值是否存在于第二个数组中,并以不同的名称显示两个数组中都存在和不存在的值。我的两个结果数组是:
$res['c'] = $this->insert_model->content();
$res['q'] = $this->insert_model->diffpan();
我的代码:
foreach ($c->result() as $con) {
$c1 = $con->content_id;
foreach ($q->result() as $row) {
$r1 = $row->content_id;
if ($c1 == $r1) {
print $c1;
print "In both";
} elseif ($c1 != $r1) {
continue;
}
}
print $c1;
print "Only in one";
}
您可以使用 array_intersect() 和 array_diff
array_diff 将 array1 与一个或多个其他数组进行比较,并返回 array1 中不存在于任何其他数组中的值。
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2); //Array([1] => blue);
array_intersect 返回一个数组,其中包含所有参数中存在的 array1 的所有值。请注意,密钥会被保留。
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2); //Array( [a] => green [0] => red)
根据您给定的值
$array1=array('4','3','2');
$array2= array('4','3');
print_r(array_diff($array1,$array2));
OutPut : Array ( [2] => 2 )
$array1=array('4','3','2');
$array2= array('4','3');
print_r(array_intersect($array1,$array2));
OutPut : Array ( [0] => 4 [1] => 3 )