2つの配列(リスト)を中身で比較するには (==)
PHP 2015/01/25
==
演算子で配列の各要素が ==
で等値かどうかを判定できる。要素の型が異なっていても変換すれば一致する場合は true
になる。
===
演算子は配列の各要素を ===
で等値判定するので、各要素の型まで一致しているかどうかを判定する。
$arr1 = array(1, 2, 3);
$arr2 = array("1", "2", "3");
var_export($arr1 == $arr2); // => true
var_export($arr1 === $arr2); // => false
!=
と <>
は ==
の反対、!==
は ===
の反対の意味になる。
配列演算子 | PHP Manual
http://php.net/manual/ja/language.operators.array.php
Ruby / JRuby 2015/01/01
配列の比較に ==
や eql?
を使うと、配列の各要素も比較してすべて等しいかどうかを取得できる。
<=>
を使うと、配列の先頭から順番に各要素に <=>
を適用して、最初に0
以外だった結果を返す。
Array#==
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/=3d=3d.html
Array#<=>
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/=3c=3d=3e.html
Array#eql?
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/eql=3f.html
Perl 2013/08/19
配列同士を ==
で比較すると、スカラコンテキストでの評価になってしまうため、要素数が同じかどうかの判断になってしまう。
@arr1 == @arr2 # => @arr1 の要素数と @arr2 の要素数が同じ場合に true