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を返す仕様にしなかったんだろう。。


コメントを残す

メールアドレスが公開されることはありません。