読者です 読者をやめる 読者になる 読者になる

六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

PHPイミフ仕様1 strpos

プログラミング

次のコードは動作しない。

<?php
$str = "ゆっくりしていってね";
$pos = strpos($str, "ゆっくり");
if($pos != false)
{
    echo "ゆっくりが見つかった";
}
?>

なぜなら、上のコードならstrposは0を返すので、0とfalseは==や!=のような演算子なら等しいものとして扱われてしまう。さらに厳格な===や!==を使わなければならない。

<?php
$str = "ゆっくりしていってね";
$pos = strpos($str, "ゆっくり");
if($pos !== false)
{
    echo "ゆっくりが見つかった";
}
?>

これなら動作する。なぜ見つからなかったら-1を返す仕様にしなかったんだろう。。