【PHP】文字列”false”をbooleanにキャストするとtrueになる問題

'false'をキャストするとtrueになる

公式のマニュアルにも記載されている通り、「空文字(と’0′)はfalseになるが、それ以外の文字列はtrueになる」らしい。

boolean への変換 | PHP: 論理型 (boolean) – Manual

boolean に変換する場合、次の値は FALSE とみなされます。

  • boolean の FALSE
  • integer の 0 および -0 (ゼロ)
  • float の 0.0 および -0.0 (ゼロ)
  • 空の文字列、 および文字列の “0”
  • 要素の数がゼロである 配列
  • 特別な値 NULL (値がセットされていない変数を含む)
  • 空のタグから作成された SimpleXML オブジェクト

https://www.php.net/manual/ja/language.types.boolean.php#language.types.boolean.casting

文字列の’true’と’false’をきちんとbooleanのtrueとfalseに変換したかったら、自力で何とかするしかない模様。

文字列falseをbooleanのfalseに変換

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です