-1

重複の可能性:
php は 2 つの連想配列を比較します

私は2つのPHP配列を持っています

$arr1 = array ([0] => apple, [1] => banana);
$arr2 = array ([banana] => banana, [apple] => apple);

私の Web アプリでは、順序がどうなるか、これらの配列に含まれる要素の数がわかりません。さらに、1 つの配列は数値をキーとして使用し、もう 1 つの配列ではキー = 値を使用します。

$arr1 の値が $arr2 の値と等しいことを確認するにはどうすればよいですか?

助けてくれてどうもありがとう

4

2 に答える 2

1

鍵が違うので

$arr1 = array (0 => "apple", 1 => "banana");
$arr2 = array ("banana" => "banana", "apple" => "apple");

使用できますarray_diff

if(!array_diff($arr1, $arr2))
{
    // They are the same 
}

使用できますarray_intersect

if(count($arr1) == count(array_intersect($arr1, $arr2)))
{
      // They are the same ;
}

配列を使用できますarray_filter

if(array_filter($arr2,function($var)use($arr1){return !in_array($var,$arr1);}))
{
     // They are the same ;
}

使用できますarray_values

$arr2 = array_values($arr2);
sort($arr1);sort($arr2); //sort to make sure they are in the same position 

if($arr1 === $arr2)
{
    // They are the same
}
于 2012-10-04T19:39:32.883 に答える
1

array_valuesを使用して、両方の配列のすべての値を数値キー配列に抽出します。次に、すべてが同じ順序であることを確認するための並べ替え/一意化と、同等性テストを行います。

于 2012-10-04T19:38:23.103 に答える