すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

PHPについて教えてください。

仕事でサイトを運営しているのですが、HTMLと他人様が記述したJavaScriptをコピーしたり、少々サイズを変えたりくらいのことしかしていません。
しかし、今までのやり方では全体的な更新に時間がかかるのと、例えば「農産物」をクリックしたら「農産物の一覧が表示される」のようなことができなくて不便です。

そこで、そういうことがやりたくてPHPの勉強をしようと思い、初心者向けかなぁと思えるサイトを探していたところ、わかりやすそうなサイトをみつけました。
http://ww7.tiki.ne.jp/~inabah/php/002_004.htm

だけど、早速わかりません。
どなたか、無知な私に子供でもわかるような説明で教えてください。

上記URLのページに次のような記載があります。
---------------------------------------------------------------
$a = 10;
$b = $a;
$c = &$a; // 参照渡しによる代入
$a = 20;

print "$a = $a<br>"; // $a の値は当然 20
print "$b = $b<br>"; // $b の値は 10 のまま
print "$c = $c<br>"; // $c の値は 20 になっている
---------------------------------------------------------------


■ひとつめの疑問:

 1行目の  $a = 10;  と、2行目の  $a = 20;  は矛盾しないんですか?


■ふたつめの疑問

 6行目の  print "$a = $a<br>"; // $a の値は当然 20   ひとつめの疑問が解決すればこちらも解決するのかな・・・とは思うのですが。



離島にいるため、PHPを教えてもらえるようなパソコン教室はありません。
全て独学(今までは主に本を購入して勉強)でやってます。

申し訳ありませんが、「こんなこともわからないなら無理だよ」などの冷静かつ否定的な言葉はご容赦ください。

わがままですみませんが、よろしくお願いいたします。

  • 質問者:むち
  • 質問日時:2009-06-04 12:50:30
  • 0

回答してくれたみんなへのお礼

正直、「同じ変数に何回代入しても問題ない」という考え方に納得がいかないんですが、それは勉強を進めていかないと理解できなさそうな気がします。
今は「そういうもんなんだ」ということで、とりあえず次に進んでいこうと思います。
ありがとうございました!!

1行目と4行目が確かに同じ$a=xxになっていますが、これは代入文と言ってaと言う値は10だよとか、aは20だよと言っているだけで、矛盾ということはありえないのです。つまりはこういうこと、これでも一切問題はありません。

$a = 10; //aに10を代入
print "$a =$a<br>"; //aを表示してみる

$a = 20;      //aに20を代入
print "$a = $a<br>"; //aを表示してみる

これ一切問題ありません。代入と言うのはただの宣言なので、同じ変数に何回代入しても問題がありません。

この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

並び替え:

1問目
 PHPの場合は「変数宣言」と同時に変数へ値をいれることが可能です。このことが むちさんの頭をこんがらせているのでしょう。
 1行目の$a = 10; は$aを宣言してかつ10を代入しました。という意味です。
 4行目の$a = 20; は$aに20を代入した。という意味になります。(宣言は1行目で終わって)
2問目
 そうですね。1問目より$aには20が代入されているので20と表示されます。
いかがでしょう。

  • 回答者:匿名希望 (質問から28分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る