2

このコードを使用して 2 つの配列を比較しようとしています。

           $diff = array_diff($selected, $checkboxes);

            echo '<br>selected:';
            print_r($selected);
            echo '<br>original:';
            print_r($checkboxes);
            echo '<br>difference:';
            print_r($diff);

奇妙なことに、これにより次の結果が得られます。

selected:Array ( [0] => Forum1 [1] => Forum3 [2] => Furniture ) 
original:Array ( [0] => Forum1 [1] => Forum3 [2] => forum4 [3] => Furniture [4] => Nieuwforum ) 
difference:Array ( [0] => Forum1 [1] => Forum3 [2] => Furniture )

array_diff 関数は「選択された」配列のみをコピーするようです。たとえばarray_diff_assocを使用するなど、同様の質問に投稿されたいくつかのことを試しましたが、問題ではありません。

誰が何がうまくいかないのか知っていますか?

4

2 に答える 2

1

array_diffで述べたように。

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

$diff = array_diff($checkboxes,$selected);

コードパッドのデモ。

于 2013-03-27T04:17:27.660 に答える