- ベストアンサー
phpでこの画像の意味を教えて下さい $na
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ご質問に書かれたプログラムと、引用された画像のプログラムは、ちょっと違っています。 >変数が同じなのに右辺は違うものにできるんですか?そ 「=」は「代入演算子」です。 左辺に以前の物と同じ変数名を書いた場合、内容は上書きで置き換わります。 そうすると、 $name = "にんじゃ"; $name = "わんこ"; こう書いた場合、$name の内容は "わんこ" になります。 もちろん、このサンプルのように直後で値を入れ替えるのは意味のないことですが、繰り返し処理の中では、同じ変数の値をどんどん変化させて、最終結果を求める、みたいなことが良くあります。 一方、「.=」は、「結合演算子」です。 既存の左辺の変数に、右辺の内容を追加する、と言う意味になります。 $name = "にんじゃ"; $name .= "わんこ"; こう書いた場合、$name の内容は "にんじゃわんこ" になります。 プログラミングとはこのように、文字一つで意味が違ってくることが良くあるので、よくよく注意が必要です。 「そこに書かれた物を、プログラミング言語のルールで解釈するとどうなるか」と考えながら、書かれた物を1文字1文字にまで気を配って読み解くようにしていかなければなりません。
その他の回答 (3)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
似ている別の書き方。 $name="にんじゃ"; $name.="わんこ"; だとしたら、 $name="にんじゃ"."わんこ"; でもOKです。 普通の数字式の書き方では、 $a=$a+$b; ←脳内でこれを思い出せば、以後すっきりしますよ。 これが$a+=$b; と書けることに似ています。 なので、".="は今ある変数に加算(ただし文字なので結合) というニュアンスで覚えればOKかと。
お礼
ありがとうございます
- hogehoge78
- ベストアンサー率80% (433/539)
言語構造や、式、演算子に関しては公式マニュアルを見たほうが手っ取り早いと思います。 https://www.php.net/manual/ja/language.operators.php こちらを見て、書いてあることの意味が読み取りづらいときに、引用しつつご質問されたほうが良いと思います。 今回のご質問の場合は、「文字列演算子」という名称ですね。 https://www.php.net/manual/ja/language.operators.string.php
お礼
ありがとうございます
- wormhole
- ベストアンサー率28% (1626/5665)
1. 「変数」は値を「変」えることができるから「変数」というんです。 2. 「.」は変数に付いてるのではなくて「.=」という演算子なんです。「.=」が何をする演算子なのかはお調べください。
お礼
ありがとうございます
お礼
ありがとうございます 変数が上書きされるの知りませんでした