【PHP】2つの配列が全く同じか確認する簡単な方法

PHPで2つの配列の値が全く同じかどうか判定したいことがありました。いい方法がないか調べたところ意外と簡単な方法があったので紹介します。

例えば以下のような配列が2つあるとします。

  $array_a = array(1,2,3);
  $array_b = array(1,2,3,4);

array_diffなどの関数を使うといいのでは?と思いましたが、全く同じかどうか判定することはできないようです。実は関数なんて使わなくても普通にイコールで判定ができました。

  $array_a = array(1,2,3);
  $array_b = array(1,2,3,4);

  sort($array_a);
  sort($array_b);

  if ($array_a === $array_b)
  {
    // 同じ場合
  }

普通に===で比べてやることができるのです。私も最初これを知ったときは驚きました。判定の前にsortをすることでばらばらな値でも正しく判定することができます。

 

soon
  • soon
  • 1986年生まれのjavaプログラマー。28歳の時に7年働いた販売士からプログラマーに転職をする。常駐先を転々としながら日々生きています。