PHP Variables and Constants(変数と定数)
PHPにおいては変数宣言構文が存在しない。変数は値が代入された時点で作成される
■変数名
^[a-zA-Z_][a-zA-Z0-9_]*こんな感じ。つまり変数名の先頭に数字は使えない。そして、頭には「$」をつけること!
大文字と小文字は区別される。
■可変変数
これは強力だが、コードが読みづらく非常に危険な気もする。個人的には敢えて使わないでおこう。
<?php
$name = 'foo';
$$name = 'bar';
print($foo);//bar
$name = '123';
$$name = '456';
print(${'123'});//456
function myFunc(){
//code
}
$f = 'myFunc';
$f();
?>
■変数が存在しているかを確認
言語機構のisset()を使う。
<?php
if(isset($val)){
//code
}
?>
isset()は変数が存在し、nullでない時にtrueを返す。従って以下のようなコードで問題が起こる可能性がある。このような問題を防ぐ為には、アルゴリズムを見直すか、is_nullを使う。
$tmpAry = array(1 => null, 2 => 'sample');
foreach($tmpAry as $key => $value){
if(isset($value)/* || is_null($value)*/){
//code
}
}
また、以下のようにキーを使用して変数のテストをする方法も考えられる。
$tmpAry = array(1 => null, 2 => 'sample');
foreach($tmpAry as $key => $value){
if(array_key_exixts($key, $tmpAry)){
//code
}
}
各関数について
- bool isset(mixed $var)
- 変数がセットされているかどうかを返す。実際には関数ではなく言語構造である。
■参照
変数のクローンは作成されず、メモリ上の住所(参照)が格納される
<?php $dog = 'Jack'; $cat = &$dog; print($cat);//Jack $cat = 'Emily'; print($dog);//Emily ?>
■定数
- 値はスカラー値(論理値、整数、浮動小数点数、文字列)
- 一度値を設定したら、後から変更することは出来ない
- 全てのスコープから参照できる
- 定数名は^[a-zA-Z_][a-zA-Z0-9_]*こんな感じ。但し、慣例として大文字が用いられることが多い
- 大文字と小文字は区別される
<?php
define('EMAIL', 'sample@sample.com');
echo EMAIL;//sample@sample.com
?>
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする