• ベストアンサー

phpでこの画像の意味を教えて下さい $na

phpでこの画像の意味を教えて下さい $name="にんじゃ"; と $name="わんこ"; 変数が同じなのに右辺は違うものにできるんですか?それともドットがあるから $name.という違う変数だということなんでしょうか?

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.4

ご質問に書かれたプログラムと、引用された画像のプログラムは、ちょっと違っています。 >変数が同じなのに右辺は違うものにできるんですか?そ 「=」は「代入演算子」です。 左辺に以前の物と同じ変数名を書いた場合、内容は上書きで置き換わります。 そうすると、 $name = "にんじゃ"; $name = "わんこ"; こう書いた場合、$name の内容は "わんこ" になります。 もちろん、このサンプルのように直後で値を入れ替えるのは意味のないことですが、繰り返し処理の中では、同じ変数の値をどんどん変化させて、最終結果を求める、みたいなことが良くあります。 一方、「.=」は、「結合演算子」です。 既存の左辺の変数に、右辺の内容を追加する、と言う意味になります。 $name = "にんじゃ"; $name .= "わんこ"; こう書いた場合、$name の内容は "にんじゃわんこ" になります。 プログラミングとはこのように、文字一つで意味が違ってくることが良くあるので、よくよく注意が必要です。 「そこに書かれた物を、プログラミング言語のルールで解釈するとどうなるか」と考えながら、書かれた物を1文字1文字にまで気を配って読み解くようにしていかなければなりません。

g5mokdra
質問者

お礼

ありがとうございます 変数が上書きされるの知りませんでした

その他の回答 (3)

回答No.3

似ている別の書き方。 $name="にんじゃ"; $name.="わんこ"; だとしたら、 $name="にんじゃ"."わんこ"; でもOKです。 普通の数字式の書き方では、 $a=$a+$b; ←脳内でこれを思い出せば、以後すっきりしますよ。 これが$a+=$b; と書けることに似ています。 なので、".="は今ある変数に加算(ただし文字なので結合) というニュアンスで覚えればOKかと。

g5mokdra
質問者

お礼

ありがとうございます

回答No.2

言語構造や、式、演算子に関しては公式マニュアルを見たほうが手っ取り早いと思います。 https://www.php.net/manual/ja/language.operators.php こちらを見て、書いてあることの意味が読み取りづらいときに、引用しつつご質問されたほうが良いと思います。 今回のご質問の場合は、「文字列演算子」という名称ですね。 https://www.php.net/manual/ja/language.operators.string.php

g5mokdra
質問者

お礼

ありがとうございます

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

1. 「変数」は値を「変」えることができるから「変数」というんです。 2. 「.」は変数に付いてるのではなくて「.=」という演算子なんです。「.=」が何をする演算子なのかはお調べください。

g5mokdra
質問者

お礼

ありがとうございます

関連するQ&A