中級 › strpos()が0を返すと if文でfalseと同じに扱われてしまう › パターン2
strpos()が0を返すと if文でfalseと同じに扱われてしまう
strpos()は文字列が先頭(添字0)で見つかった場合、戻り値の0を返します。
1 <?php 2 $text = "abc123"; 3 $pos = strpos($text, "abc"); 4 if (______________) { ^ 5 echo "found at start"; 6 } else { 7 echo "not found"; 8 }
出力: not found期待: found at start (エラーにはなりません)
空欄を埋めて実行を通す
strposは先頭(添字0)で見つかると0を返しますが、if ($pos)は0をfalseとして扱います。$pos !== falseのように型まで比較する必要があります。
次の問題