比較演算子 (Comparison Operators)

演算子

==, ===, !=, <>, !==, <, >, <=, >=

文字列の比較

var_dump( 'a' == 'a' ); // true
var_dump( 'a' == 'b' ); // false
var_dump( 'a' == 'A' ); // false

==演算子では、文字列が数値と解釈されると数値として比較されます。これを厳密に文字列として比較するには、===演算子を用います。

var_dump( '01' == '1' );  // true
var_dump( '01' === '1' ); // false

前後関係

strcmp()では、文字列の大小を比較できます。

int strcmp ( string $str1 , string $str2 )
PHP: strcmp - Manual
  • $str1$str2より小さい … 0より小さい値
  • $str1$str2より大きい … 0より大きい値
  • $str1$str2と等しい … 0
echo strcmp( 'a', 'b' ); // -1
echo strcmp( 'c', 'b' ); // 1
echo strcmp( 'a', 'a' ); // 0
echo strcmp( 'a', 'A' ); // 1

自然順アルゴリズム (natural order algorithm) で比較するならば、次の関数を用います。

int strnatcmp ( string $str1 , string $str2 )
int strnatcmp ( string $str1 , string $str2 )
PHPのマニュアルから検索