• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:= $argv[1];はどんな働きがありますか!?)

$argv[1];はどんな働きがありますか!?

このQ&Aのポイント
  • <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) { echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; }
  • このプログラムを%php stringcast.php100のように実行する、引数の100はPHP文字列型として渡されます。 したがって、(1)の比較では、文字列"100"の入って変数$numと、整数100が比較されるため、 文字列"100"は整列100へとキャストされまた後、比較演算が実行されます。 今回は、動作の結果に違いはありませんが、ここで整数同士を比較しているつもりでも実際には 文字列を整数の比較が行われ、キャストが発生している、という挙動を把握しているか、していない かではなく大きな違いがあります。引数とし期待している値の型が決まっている場合、明示的にキャ ストを行い、厳密な比較演算子(===など)を用いるほうが安全です。
  • 以上、参考書をまるごと入力しました。 そこで $num = $argv[1];で!$argv[1]とはこのプログラムではどんな働きがあるのでしょうか!? ($argv[1];を$numに代入だと思います。間違っていたなら御免なさい。) 宜しくお願いします。 なお・批判的なご回答はお控えくださいませ。

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

  • ベストアンサー
noname#190967
noname#190967
回答No.1

if ($argv[1] == 100) と書くと複雑で勘違いしやすいと思ったから、その前に代入文を入れただけではないでしょうか? プログラムの先頭で、引数 argv[] からそれぞれのパラメターの変数に代入し値チェックすることは、ごく標準的な作法です。

Campus2
質問者

お礼

 A:ごく標準的な作法 ありがとうございます。 参考になります。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>$argv[1]とはこのプログラムではどんな働きがあるのでしょうか!? コマンドラインから渡された最初の引数が格納された変数 RTFM. http://php.net/manual/ja/reserved.variables.argv.php

関連するQ&A