• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:$argv[1] の真偽判定)

$argv[1] の真偽判定

このQ&Aのポイント
  • PHP初心者が、$argv[1]を使った条件分岐の結果に疑問を持っている。
  • 与えられた引数がfalseの場合でも、真と判定されてしまう問題がある。
  • 質問者は、この問題の原因と解決方法を知りたいと思っている。

質問者が選んだベストアンサー

  • ベストアンサー
  • bx2
  • ベストアンサー率47% (97/206)
回答No.2

空と"0"以外の文字列はすべて真です。 > と bool型にキャストしても同じ結果になるのですが、これは何故なのでしょうか? bool型にキャストする前から真なので、キャスト後も真です。

参考URL:
http://jp.php.net/manual/ja/language.types.boolean.php
study-php
質問者

お礼

理由が分かりました。 どうもありがとうございました。m(__)m

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

"false" という文字列は真です。

study-php
質問者

補足

回答いだだき、ありがとうございます。 <?php // p075_a.php if( isset($argv[1]) and (bool)$argv[1] ) { echo "与えられた引数は真です\n"; } elseif ( isset($argv[1]) && !(bool)$argv[1] ) { echo "与えられた引数は偽です\n"; } else { echo "引数が与えられていません\n"; } と bool型にキャストしても同じ結果になるのですが、これは何故なのでしょうか?