基礎の基礎
<?php~php>で括った中身がphpとして解釈される。
これを(ASPやJavaScriptのように)HTMLの中に埋め込む。
式の終わりには;をつける。
命令文は大文字/小文字を区別しない。が、変数は大文字/小文字を区別する。
コメントは<!--~-->、//、#、/*~*/が使える。<!--~-->は(PHPではなくHTMLのコメントなので)クライアントに送信される。
変数
変数名は$で始まる。$の次は英字かアンダースコア。それ以降は英数字かアンダースコア。
変数は宣言せずいきなり使える。
データ型を指定する必要はないが、明示的に指定するには(int)$hogeのようにキャストして使う。
PHPにおけるデータ型は
- string
- integer 10進数、16進数(0xで始める)、8進数(0で始める)が使える。
- float
- boolean 0や空文字列はFALSE。他はすべて(負数も含め)TRUE扱い。
- array
- object
- null
配列
$array=array(要素1,要素2,…); //通常配列
$array2=array(キー1=>要素1,キー2=>要素2,…); //連想配列
$array[0]=”foo”; //配列arrayの最初の要素に文字列fooを代入
$array[]="baa"; //配列arrayに文字列baaをpush(つまり配列の末尾に要素を追加)
可変変数
変数名が変数である。
すなわち
$x="title";
であるとき、
$$x
は$titleを表す。
スーパーグローバル変数
特殊変数。
$_POST HTMLのPOSTメソッドから渡された内容が連想配列で格納されている。
$_GET HETMLのGETメソッドから渡された内容が連想配列で格納されている。
$_FILES アップロードされたファイルに関する情報が二次元配列で格納されている。
<input type=”file” name=”file” /> だった場合
$_FILES['file']['name'] ファイル名
$_FILES['file'][‘tmp_name’] サーバー上での一時ファイルとしてのファイル名
$_FILES['file'][‘size’] ファイルサイズ
$_FILES['file'][‘type’] ファイルのMIMEタイプ
$FILES['file'][‘error’] エラーコード
$_SERVER リクエストヘッダの連想配列。
$_ENV サーバーの環境変数の連想配列。
$_COOKIE COOKIE情報の連想配列。
$_SESSION セッション情報の連想配列。
$_REQUEST $_GET、$_POST、$_COOKIE、$_FILESの値をまとめて管理
定数
define(定数名,値);
定義済み定数
__FILE__ 実行中のファイル名
__LINE__ 実行中の行番号
__FUNCTION__ 実行中の関数名
__CLASS__ 実行中のクラス名
__METHOD__ 実行中のメソッド名
DIRECTORY_SEPARATOR ファイルシステムの区切り文字。/や¥。
PATH_SEPARATOR 環境変数PATHの区切り文字。:や;。
PHP_VERSION PHPのバージョン
NULL 未定義
TRUE 真
FALSE 偽
エスケープシーケンスや演算子は多言語と同じなので省略。
ちなみに文字列連結は .
また、@を行頭につけると、その行のエラーメッセージを非表示にする(エラー制御演算子)。
条件分岐
if (条件式 ) { 文; } elseif(条件文) { 文; } else { 文; }
switch (式) {
case 値:
文;
break;
case 値:
文;
break;
default :
文;
break;
}
for ( 初期化式 ; 継続条件 ; 増減式 ) { 文; }
while ( 条件式 ) { 文; }
do { 文; } while ( 条件式 );
foreach ( $data as $key=>$value ) { 文; } //配列$dataのすべての要素にアクセス
continue … Perlの next にあたる
break … Perlの last 相当
関数
定義
function 関数名([仮引数1,仮引数2,…]) {
文;
[return 戻り値;]
}
呼び出し
関数名([引数1,引数2,…]); //戻り値がない場合
変数 = 関数名([引数1,引数2,…]); //戻り値を変数に代入する場合
外部ファイルのインクルード
include_once(外部ファイル); //ファイルが存在しないと警告(続行)
require_once(外部ファイル); //ファイルが存在しないとエラー(停止)
※循環が発生したら後の呼び出しがキャンセルされる。

