ものづくりブログ

ゼロからスタートして何かを作って世に出すまでのことを書くブログです.

PHPについてちょっとだけ勉強してみた

 

こんにちは.

 

せっかくApache2とphp5をラズパイにインストールしたので,少し使ってみたいと思います.

 

これまでにC言語シェルスクリプトを使ってきたのでそれらとどのように違うのかなどをざっと確認してみました.

 

0. はじめに

  • 動作環境はApachePHPがインストールされているサーバ上
  • HTMLの中に<?phpと?>で囲む形で記述
  • ファイルの拡張子は.phpとする
  • 例はここにあります.画面上方のボタンからDLできますので,これをPHPが動く環境に入れれば動作させられます

 

1. 変数について

  • 宣言は必要なくて,最初に使うときに自動的にメモリの確保をしてくれる
  • 型の指定も自動
  • 変数であることを表すため,変数名の先頭に$をつける
  • 文字列は""か''で囲む
  • ""は\nなどのエスケープシーケンスや,変数の展開が可能で,''はそれらが無視されすべて文字列として処理される
  • 変数に他の変数を代入する場合も特に工夫はいらず,$var1 = $var2でOK
  • 変数に値を代入するだけでなく,変数への参照を指定することが可能.要はその変数の値は別の変数の値ですよということ.え,それなら変数に参照先の変数の値を代入すればいいじゃんと一瞬思ったけど違った.これは便利そう.やりかたは,$var1 =& $var2のように書く.=でなく=&が参照の演算子
  • C言語のDEFINEみたいなのがある.その名もDefine.Define(識別子, 値)で指定できる.なんとなく変数でも良さそうだけど,多分こちらのほうがメモリを食わないのだろう

 

2. 文字の表示について

  • printとechoがあり,前者は1塊の文字列しか表示できないのに対し,後者は複数を,で区切って並べればそれらを結合して表示してくれる
  • ただし連結に.を使用すればprintでも結合されるっぽい
  • 文字列中に変数を呼び出す際は,普通に$var のように呼び出す.その際に変数の後ろに半角スペースが必要.前述のとおり""で囲んだ場合のみ展開されて,''の場合は展開されずそのまま表示される()

 

3. 数字と数式について

  • 整数と浮動小数点数の変換などは自動的に行われる
  • 文字列への変換も自動
  • 演算子などはC言事変わらなさそう

 

4. 条件分岐と繰り返し

  • ifは多分C言事全く同じ文法
  • 比較演算子(<,>,==,<=,!=など)も論理演算子(&&,||など)もC言語と同じ
  • if elseもC言語と同じ
  • for分もwhile文もC言語と同じ

 

 

 

というわけでC言語で学んだ資産が結構使えそうです.後は枝葉の知識を覚えたらちょっとしたものはすぐにでも作れそうですね.

 

 

 

参考文献

[1]PHPbook「PHP入門」(http://www.phpbook.jp/tutorial/)