Fieds_labo1
php-変数
最終更新:
fieds_labo1
-
view
php 変数と基本
1.変数のスコープ
- コンテキスト内。すわなちファイル内。<?php $a=1; ?><?php echo $a ?>[EOF]。
- includeやrequireにより読みこまれたファイルも含む。
- 変数は基本ローカル変数。
- ユーザ定義関数内で定義した変数は関数内でのみ有効。
- ユーザ定義関数内で親ソース?で定義した変数を使用する場合は、global 宣言。
- ユーザ定義関数を再帰利用する場合、static 宣言で静的変数にすると、初期は1回のみとなる。
2.変数名
- 先頭$始まりで2文字目英文字アンダーバー、以後任意の英数アンダーバー。例:$value
- 英大文字小文字を区別。
- 初期化されていない変数の値は、その型のデフォルト値 - FALSE、ゼロ、空の文字列あるいは空の配列。
- 初期化されていない変数のデフォルト値に依存しないこと。
- 変数初期化の判断:isset($var);
- 可変変数:$$aで変数の値を変数名にできる@@; コード減らすため?(未使用)
3.変数型
- 8種
- 論理値:boolean、整数:integer、浮動小数点数:float、文字列:string
- 配列:array、オブジェクト:object
- リソース:resource、ヌル:null
- 型宣言無し。
- 整数はプラットホーム依存。一般に32ビット符号付(-2,147,483,645 ~ 2,147,483,645)。
- 整数の範囲オーバー時はfloatが使われる。(てか、内部処理はfloat?ってどこかで見たような)
- 異なる型の演算(+など)に注意。
4.文字列連結
- string . string
5.配列
- 配列の生成。例:$myArray = array(1 => 'a',2 => 'b','x' => 10);
- 連想配列(リンクリスト、ハッシュ)。
- key => valuesの形式をとる。(keyは省略可能。)
- 値の参照:$myArray['x'] // = 10
- 多重化可能。
- keyで対応した値をもってこれる箱と思っているのが安全。
- 添え字の数値回しとか危険@@;
6.コメント
- 1行 // または #
- 複数行 /* ~ */ ネスト不可
7.開始終了タグ
- <?php ~ ?>
- 拡張子.phpのファイル内、htmlのソース内に任意に記述可能。
8.関数とクラス
- finction fa(){return;}
- class cl{}
- 関数名、クラス名は大文字小文字を区別しない。例:echo();、ECHO();
8.返り値
- TRUE:0(ゼロ)以外
- FALSE:0(ゼロ)。FALSEを返すもので、ゼロは有効な場合に注意。
- 明確にTRUEとFALSEをチェックしたい場合には、===による厳密比較を使用。
9.変数の展開
- 二重引用符、ヒアドキュメント構文内の変数は展開される。
- 変数の区切りが不明な場合、展開されない。
- または、実行時Parse Errorになる。
- PHP対応エディタではエラー表示するものあり。
- 変数を{}で囲むことで、変数が明確になる。
- 文字列
10.円マークとバックスラッシュ
- Shift-JISの¥(半角)をUTF-8に変換すると\(半角)になる。
- UTF-8では¥(半角)は別コードで定義される。0xA5。
- 使用しているエディタの問題かもしれないが、ソースの文字列置換時制御コードが存在し、IE8でゴミキャラクタを表示した。
- Safariではゴミは見えない。
- ¥マークは全角を使うのが無難。
- 円マークとバックスラッシュ