• ベストアンサー

配列一致(要素順番は違うが内容は同じ)を確認したい

■前提 ・連想配列ではない、普通の配列が2つある ・2つの配列要素数は同一(例えばそれぞれ五つ) ■質問 ・仮に2つの配列要素内容が同じである(但し順番は違う)時、2つの配列要素内容が同じであることを確認するには、どうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.3

ちなみに ・連想配列である ・キーと値のペアで考える という前提のもとに ・同等の配列かどうか調べたい(ペアの順番は異なってもいい) この場合はソートも何もせずに $a == $b で調べられます。「===」ではなく「==」です。 http://php.net/manual/ja/language.operators.array.php パフォーマンスは先ほど調べてみましたが、これもスカラー値比較と同じように「==」よりは「===」の方が速いみたいです。

re97
質問者

お礼

「補足」&「リンク提示」&「パフォーマンス調査」、ありがとうございました。 大変参考になりましたー

その他の回答 (2)

noname#244856
noname#244856
回答No.2

配列 $a, $b が定義されているとする sort($a); sort($b); echo $a === $b ? '同じ' : '違う';

re97
質問者

お礼

回答ありがとうございました。 大変参考になりましたー

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

二つの配列をA,Bとして AをソートしたA0と、BをソートしたB0とを先頭から順番に比較して、全部同じだったら同じ。

re97
質問者

お礼

回答ありがとうございました。 参考になりましたー

関連するQ&A