「PHP」の「変数」と「可変変数」を学ぶ
こんにちは!サトルです。
今回から「PHP言語」について学んでいくことになりました。
現役のプログラマさんやエンジニアさんにお話を伺っていると、「WEB系」の言語は理解しておくと、今後ゲームを作る際にも「オンラインゲーム」を作るなら、「サーバー・ネットワーク」の知識は必要とのことでした。
前回の「C・C++」言語は「学んだことのあるプログラム言語」だったのですが、今回は全く学んだことの無い「未知の言語」です。
「C言語・C++言語」もまだ理解してきれていないのですが、並行して学んでいきたいと思います。
「WEBプログラミング」って何??
「WEB」っていう言葉の意味が「インターネットを表す別の表現」みたいなイメージなのですが、「WWW(World Wide Web)」という、「インターネット上のシステム」のことを言うそうです。
もう自分には難しく感じてきた・・・
そして、「WEB」を通じて「ホームページ・WEBサービス」等を公開できるようになっているとのことでした。
なるほど。
普段何気なく見ている「ホームページ」や「WEBサービス」が動いている仕組みを学んでいると、少しずつ興味が湧いてきました。
ただ、やはりまだ「難しい」という印象が強いかも。
そして、これらの仕組みは「サーバーソフトウェア」というサービスを提供する専用のソフトウェアが必要とのことでした。
例えば、ホームページの公開やWEBサービスを提供するためには、「WEBサーバーソフトウェア」が必要らしいのですが、個人でWEBサービスを作る時に必要な「サーバーソフトウェア」が「パッケージ」になったものがあるみたいです。
とりあえず、それが必要とのことだったので、今回は「MAMP」というソフトをインストールして・・・もらいました(エンジニアさんに)
一通り、「WEBサーバー」と「データベースサーバー」の起動と停止方法を教わったので、これで、PHPを学ぶ準備が整いました。
「PHP」というプログラムは「WEBサーバー」で動くプログラムとのことで、少し仕組みが理解できてきた気がします。
「PHPプログラム」を学ぶ
「未知のプログラム言語」を学ぶ時は、「ドキドキ」と「不安」が交互にやってくるのですが、まず「変数」について学んでいきたいと思います。
「変数」の仕組みと使い方
「変数」は、「データを入れる入れ物」なのですが、「PHP」で変数を作るには、
$変数名 = 初期値;
のように書きます。
先頭に「$(ドルマーク)」が付くのが特徴的ですね。
さっそくPHPのプログラムを作っていきたいと思いますが、PHPのプログラムファイルは、「ファイル名.php」のように作っていく必要があります。
そして、プログラムは、
<?php $i = 1;
のようにプログラムの先頭に「<?php」の開始記号を書く必要があります。
プログラムがHTMLの中に書かれている場合は、プログラムの最後に「?>」の記号も書いていく必要があります。
Javascriptのプログラムを「scriptタグ」で囲むのと同じようなイメージですね。
変数を作る時は、「データ型」の指定等は行わなくても良いとのことで、変数に直接値を入れることができるとのことでした。
文字列を入れる時には、文字列の前後に「ダブルクォーテーション」を書きます。
例えば、
<?php $i = "hello";
のように書きます。
「C言語」よりは書きやすいのですが、「変数にどんなデータでも入れられるのはバグを生む可能性が増える」とエンジニアさんからアドバイスを受けました。
「そうなの!?」
と思ったのですが、「間違って値を入れる可能性が増える」という意味では確かにそうですね・・・
つい、「楽」をしたい方に気がいってしまいます(^^;)
「可変変数」の仕組み
PHPには「可変変数」というものがあるそうです。
$$変数名;
のように書くと、「可変変数」を作ることができます。
仕組みを説明するよりプログラムを見てもらったほうがわかりやすいと思うので先にプログラムを書くと、
$hello = "test"; $i = "hello"; print $$i;
のようになります。
「print」はブラウザに文字列などを出力する命令文で、
print 出力内容;
のように書くと、ブラウザへ出力することができるそう。
他にも「echo」という命令文でも出力ができるみたいです。
このプログラムを実行すると、
hello
が出力されます・・・なんで??
ということで、「可変変数」についてエンジニアさんに教わってきました。
エンジニア氏:まず、「$i」には「hello」という文字列が入っているよね。
自分:「はい」
エンジニア氏:「$$i」の「$i」の部分は「hello」という文字列なんだ。
自分:「はい」
エンジニア氏:だから「$$i」は「$hello」なんだ。
自分:「はい・・・??」
エンジニア氏:「$hello」には「hello」という文字列が入っているからそれが表示されているんだ。
自分:「・・・すいません。もう一度説明してください。」
というやり取りが何回か続きました。
後で、よくよく考えると、C言語の「ポインタのポインタ」みたいな仕組みによく似た仕組みということがわかってきました。
PHPって結構ややこしいプログラム言語なのかも。とちょっと身構えてしまいます。
次はどんな内容について教えてもらえるかな。
PHPも使えるようになっていきたい。