![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?c9bd177)
<?php
// stringcast.php
if (!isset($argv[1])) {
exit;
}
$num = $argv[1];
if ($num == 100) { ←(1)
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に代入だと思います。間違っていたなら御免なさい。)
宜しくお願いします。
なお・批判的なご回答はお控えくださいませ。
No.1ベストアンサー
- 回答日時:
if ($argv[1] == 100)
と書くと複雑で勘違いしやすいと思ったから、その前に代入文を入れただけではないでしょうか?
プログラムの先頭で、引数 argv[] からそれぞれのパラメターの変数に代入し値チェックすることは、ごく標準的な作法です。
No.2
- 回答日時:
>$argv[1]とはこのプログラムではどんな働きがあるのでしょうか!?
コマンドラインから渡された最初の引数が格納された変数
RTFM.
http://php.net/manual/ja/reserved.variables.argv …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- PHP PHP MySql ページング 2 2022/09/20 06:38
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PHP】プログラム自身が自...
-
画像アップロードのファイル名...
-
リンク先を隠す方法はないでし...
-
TCPDFについて
-
centos6のlogにscript not foun...
-
.phpファイルが、表示されない
-
別ファイルの変数を呼び出した...
-
掲示板作成を目的とした初心者...
-
tex についての質問です。 割り...
-
apacheで拡張子を省略してアク...
-
ユーザーに入力してもらった値...
-
PHP(.php)及びJavascrpit(.j...
-
PHPで新しいウインドウで開く命...
-
ディレクトリ削除
-
Apacheでhttp://localhost/が表...
-
MkDir関数
-
HTTP_Clientが利用できるレンタ...
-
置換ソフトで指定したファイル...
-
スケジュール共有管理ツールの...
-
GDを使って画像の背景を透過さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
phpにて動的なページを生成する...
-
XML-RPCでsend()できない
-
FORMタグを使わずに、POSTする...
-
さくらのレンタルサーバーでメ...
-
illegal string offset
-
PDOのlastInsertIDについて
-
php エラー
-
= $argv[1];はどんな働きがあり...
-
クエリ文字列が取得できない
-
sqliteでのデータベースのlocal...
-
PHPでの再帰を用いたツリー構造...
-
ブラウザゲーム作成までの道の...
-
【PHP】smartyとPHPの記述違い...
-
VBおすすめ書籍
-
ifの中にもうひとつif,else
-
PHPからPerlにデータを渡して結...
-
PHPのコードがそのまま表示され...
-
PHP3で作ったプログラムをPHP4...
おすすめ情報