11

私は array_diff をそのように使用しようとしています。ここに私の2つの配列出力があります:

リスト 1 の出力

Array ([0] => 0022806 ) 

リスト 2 出力

Array ([0] => 0022806 [1] => 0023199 ) 

PHP

$diff = array_diff($list_1, $list_2);

print "DIFF: " . count($diff) ."<br>";
print_r($diff);

出力は次のとおりです。

DIFF: 0
Array ( )

私が間違っていることは何か分かりますか?なぜ0023199返されないのですか?

4

4 に答える 4

22

array_diff() の引数の順序は重要です

他のどの配列にも存在しない、 array1のすべてのエントリを含む配列を返します

于 2012-10-16T18:45:11.073 に答える
2

ドキュメントから

他のどの配列にも存在しない、array1 からのすべてのエントリを含む配列を返します。

それらが同じかどうかのみを確認したい場合は、使用できます$list1 == $list_2

于 2012-10-16T18:45:59.807 に答える
1

ドキュメントに従って、2 番目の配列の値は最初の配列から減算されます。別の言い方をすれば、最初の配列から始めて、2 番目の配列に表示されるすべての値を削除します。これにより、上記の空の配列が正しく生成されます

欲しいものを手に入れるのに役立つかもしれません。

于 2012-10-16T18:46:51.303 に答える