2011年9月21日水曜日

PHP : 基本構文・文法について

PHPは簡単なプログラミング言語らしい。

まぁいくら簡単でも基本構文程度は暗記しなければならないのでその備忘録。
確かに、C言語かJavaなどに触れて入ればとっつきやすい感じはする。
コンパイルとか不要であり、ブラウザ表示可能なので楽だ!
(ブラウザにphp拡張子を判別できるように設定する必要はあるが)

1.PHPのコードの宣言・記述
はじまり      ==>  <?php
コーディング ==>     echo "PHPです";
おわり         ==>  ?>


コーディングの1文末尾はセミコロン;で終了する。


2.変数の宣言
変数に型という概念はあるが、PHPが自動で型を判別するので、
プログラマは意識する必要はない。


変数は、先頭に"$"をつける
変数は、大文字小文字が区別され先頭に数字は使用できない。
先頭には、_とAからZの大文字小文字とASCIIコードの127-255が使用可能。
2文字目以降は数字も使用可能。
当たり前だが、予約語は使用できない。
ex)
$abc  ==> OK
$1abc ==> NG
$_abc ==> OK
$ABCと$abc ==> 別変数

3.コメントの書き方
// 1行コメント (改行までをコメントとする)
# //と同じ
/* */ 複数行コメント


4.標準出力
echo, printが使用可能。
echo, print共に文字・文字列・変数の出力が可能。
ただし、' '囲みと" "囲みでは変数を用いるときは注意すること。

echo  ・・・引数を複数指定可能。省略形あり。
print ・・・引数は1つのみ。戻り値取得できる。
標準出力には、echoを使う方がよいみたい。

echo "a", "b", "c", "d";
print "abcd";

$temp = "あいうえお";
echo "$temp";    ---> 変数の値 あいうえおが出力される
echo '$temp';     ---> 変数名 $tempが出力される

確実に変数の内容を出力させたいときは、以下のようにすること
echo "{%moji}"    ---> 変数の値 あいうえおが出力される

改行は、"<br>"を使用する。
数字を表示するechoの場合は、改行は別途echoで表示すること

5.定数宣言
define関数を使用する。
すべて大文字で宣言するのがマナー。(ルールではない)
区切り文字には_を使用する。

<注意点>
1度定義したら再定義やデータの代入は不可。
定数はプログラムのどこからでもアクセス可能。
定数には、配列は定義できない。

ex) ソフトウェア名称に定数を持たせたい場合、
define(SOFTWARE_NAME, "ソフトウェア名称");

echo SOFTWARE_NAME ==> ソフトウェア名称と表示される

<予め用意されている定数>
PHP_VERSION     PHPバージョン
PHP_OS             PHPを実行しているOS
TRUE                論理値 : 真
FALSE               論理値 : 偽
NULL                空(=値なし)

6.マジカル定数
プログラムで使用するときに自動で値が変化する定数。
予め用意されている。

__LINE__         ファイル上の現在の行番号
__FILE__         ファイルのフルパスとファイル名
__FUNCTION__  関数名
__CLASS__       クラス名
__METHOD__    クラスのメソッド名(PHP5以降しかない)

6.配列宣言・多次元配列宣言
array()関数を使用する方法と、配列変数に個々に値をセットする方法がある。
連想配列として要素に文字などを指定することも可能。

・array関数を使用する場合
$arrayBox1 = array(1, 2, 3, 4, 5);
$arrayBox2 = array("1", "2", "3", "4", "5");

・array関数を使用して連想配列を宣言する場合
$arrayBox3 = array("cat"=>"ねこ", "dog"=>"いぬ");

・array関数を使用しない場合
$arrayBox4[0] = 1;
$arrayBox5[1] = 2;

・array関数を使用せず連想配列を宣言する場合
$arrayBox["cat"] = "ねこ";
$arrayBox["dog"] = "いぬ";

・多次元配列
    $array1 = array( "0"=>""
            ,"1"=>"array1_1"
            ,"2"=>"array1_2"
            ,"3"=>""
            ,"4"=>"array1_4");

    $array2[0] = "array2_0";
    $array2[1] = "array2_1";

    $array3["dog"] = "いぬ";
    $array3["cat"] = "ねこ";

    $array4["dog"][0] = "ラブラドール";
    $array4["cat"][0] = "野良猫";

    echo $array1["1"], "<br>";
    echo $array2[1], "<br>";
    echo $array3["cat"], "<br>";
    echo $array4["dog"][0], "<br>";

7. 演算子
基本的にC言語と同じであるので特に記載しない。
代入演算子 =
算術演算子 加算 A + B
               減算 A - B
               乗算 A * B
               割算 A / B
               剰余算 A % B
加算・減算子  A++ ++A A-- --A (C言語と同じ)
複合演算子  A += B, A-=B, A*= B, A /= B, A %= B
比較演算子  ==  値が等しい
               === 値と型が等しい
               != 値が等しくない <>としてもOK
               !== 値か、型のどちらかが等しくないとき
      < > <= =>
論理演算子  &&   両方ともTRUEのときTRUE
                ||     片方でもTRUEのときTRUE
                and  &&の方が優先順位が高い
                or    ||の方が優先順位が高い
                xor  片方だけTRUEのときTRUE
                !      反転
文字列結合演算子 . 文字列と文字列を結合する
 +では結合できないので注意!

8.条件
if
switch

if (($x == 1) && ($y == 1))
{

}
else if ($z == 1)
{
}
else
{
}

$x = 1;
switch ($x) {
   case 1:
   case 2:
              echo "case1 case2処理されます";
              break;
   case 3:
              echo "case3 処理されます";
              break;
}
出力 => case1 case2処理されます。

9.繰り返し
while
do - while
for
foreach

break
continue

0 件のコメント:

コメントを投稿