-2

の逆演算を行う関数はありますarray_diff()か?

つまり、私が持っている場合:

array(1,2,3)
array(3,4,5)

array(3)その関数が、または直接 を返すことを望みます3

注:array_intersect()私には合いません。

ハビエル

4

3 に答える 3

3

array_intersect() doesn't fit meそれが返すためである場合 :

Array
(
    [2] => 3
)

ではない:

Array
(
    [0] => 3
)

また 3

次に、配列をarray_values()で実行可能なものに簡単に変換できます。

<?php 
$arr1 = array(1,2,3);
$arr2 = array(3,4,5);

$new = array_values(array_intersect($arr1,$arr2));
$new = $new[0];
print_r($new); //3
?>

それ以外の場合は、状況を説明してください。

于 2012-06-09T20:45:52.123 に答える
0

array_intersect()を試してください。これにより、配列の交差が計算されます

于 2012-06-09T20:36:22.127 に答える
0

を使用したくないのでarray_intersect()、この非効率的な方法を確認してください。

$arr1= array(1,2,3);
$arr2= array(3,4,5);

function arr_intersect($array1, $array2)
{
    $array_result=array();
    $array_shared = array_diff($array1+$array2, array_diff($array1, $array2));
    $count=count($array_shared);

    return array_values($array_shared);
}

print_r(arr_intersect($arr1, $arr2));
于 2012-06-09T20:50:46.157 に答える