私は次のような2つの配列を持っています、
$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
。
私は次のような2つの配列を持っています、
$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
。
が最善の方法であることはわかっarray_diff
ていますが、ディアヌジの答えはコーシャではなく、コメントが十分に伝えられていない可能性があります。
<?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