文字列を比較する
文字列と文字列の比較
金曜日はお休みではありません。土曜日はお休みです。
日曜日はお休みです。
<?php
function holiady($youbi) {
if (($youbi == "土曜日") || ($youbi == "日曜日")) {
echo $youbi, "はお休みです。\n <br>",PHP_EOL;
} else {
echo $youbi, "はお休みではありません。\n <br>",PHP_EOL;
}
}
holiady("金曜日");
holiady("土曜日");
holiady("日曜日");
?>
文字列と数値を比較
10cmと10cmは同じ。10kmと10cmは違う。
10人と10は違う。
PHP7と7は違う。
七と0は違う。
<?php
function check($a, $b)
{
if ($a === $b) {
echo "{$a}と{$b}は", "同じ。\n <br>";
} else {
echo "{$a}と{$b}は", "違う。\n <br>";
}
}
check("10cm", "10cm");
check("10km", "10cm");
check("10人", "10");
check("PHP7", "7");
check("七", "0");
?>
厳密に比較する演算子
比較に==演算子を===に書き換えると、厳密な比較になる。
比較に==演算子を===に書き換えると、厳密な比較になる。
その他の比較演算子
<,<=,>,>= | 文字列に対して使用できるが、大小関係はアルファベット順。大小の比較を有効に利用できるのは半角英文字の場合で1文字目が同じなら次の文字、大文字の方が前の順になる。 |
(string)$var | 数値を文字列にキャストして比較する。 |
strcmp($str1,$str2) | 引数が数値であっても文字列にキャストして比較する。 |
strcasecmp() | 引数を文字列にキャストし、英文字の大文字と小文字を区別せずに比較します。 |
strncmp($str1,$str2,len) | 前方一致で比較する。 |
strncasecmp($str1,$str2,len) | 英文字の大文字と小文字を区別せず前方一致で比較します。 |