我有两个数组,如下所示,
$a =array(1,2,3,4);
$b =array(1,2,5,6);
这是我的代码
$c=array_diff($a,$b);
$c=array(3,4,5,6);
但我想要它像下面
$c=array(3,4);
笔记:
我想要$a
数组中不存在的$b
数组值。
我有两个数组,如下所示,
$a =array(1,2,3,4);
$b =array(1,2,5,6);
这是我的代码
$c=array_diff($a,$b);
$c=array(3,4,5,6);
但我想要它像下面
$c=array(3,4);
笔记:
我想要$a
数组中不存在的$b
数组值。
尝试这个
<?php
$array1 = array(1,2,3,4);
$array2 = array(1,2,5,6);
$result = array_diff($array1, $array2);
print_r($result);
?>
阅读此 PHp.NET for array_diff 并参考此FIDDLE
我知道array_diff
这是最好的方法,但 dianuj 的回答不是很干净,评论可能没有很好地传达。
<?php
$a = array(1,2,3,4);
$b = array(1,2,5,6);
foreach($a as $k => $v)
{
if (in_array($v, $b))
unset($a[$k]);
}
var_dump($a);
如果您想在不维护旧键的情况下创建新数组,试试这个
$c = array_values(array_diff($a, $b));
这应该为你做。
// get differences that in ary_1 but not in ary_2
foreach ( $ary_1 as $v1 ) {
$flag = 0;
foreach ( $ary_2 as $v2 ) {
$flag |= ( $v1 == $v2 );
if ( $flag ) break;
}
if ( !$flag ) array_push( $diff, $v1 );
}
在哪里 :
$ary_1 = $a & $ary_2 = $b