みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

■前提
・連想配列ではない、普通の配列が2つある
・2つの配列要素数は同一(例えばそれぞれ五つ)

■質問
・仮に2つの配列要素内容が同じである(但し順番は違う)時、2つの配列要素内容が同じであることを確認するには、どうすればよいでしょうか?

投稿日時 - 2013-10-02 21:47:54

QNo.8289152

暇なときに回答ください

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

ちなみに

・連想配列である
・キーと値のペアで考える

という前提のもとに

・同等の配列かどうか調べたい(ペアの順番は異なってもいい)

この場合はソートも何もせずに

$a == $b

で調べられます。「===」ではなく「==」です。
http://php.net/manual/ja/language.operators.array.php

パフォーマンスは先ほど調べてみましたが、これもスカラー値比較と同じように「==」よりは「===」の方が速いみたいです。

投稿日時 - 2013-10-03 19:07:39

お礼

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

投稿日時 - 2013-10-12 01:24:19

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

配列 $a, $b が定義されているとする

sort($a);
sort($b);

echo $a === $b ? '同じ' : '違う';

投稿日時 - 2013-10-03 00:42:14

お礼

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

投稿日時 - 2013-10-12 01:22:59

ANo.1

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

投稿日時 - 2013-10-02 23:41:52

お礼

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

投稿日時 - 2013-10-12 01:25:00

あなたにオススメの質問