変数
変数は、どんな言語にも定番のものです。PHPの変数は、その用法がPerlとはちょっと違ってますので注意して下さいね(^^ゞ
変数
PHPにも、他の言語と同じように変数(Variables)があります。変数とは、値を保存して後で使用する場合に利用するもので、変数はドル記号「$」で始まります。変数には、以下のような規則があります。
(1)変数には、アルファベット、数字、アンダースコア「_」を使用できる。
(2)最初の文字($の次の文字)は、アルファベットかアンダースコア「_」でなくてはならない。
(3)変数で保存できるデータ型には、整数型、倍精度型、文字列型、オブジェクト型、配列型、真偽型がある。
以下に変数の命名例を示します。
$a_name_by_first 右はダメな例⇒
$777_num 数字で始めてはダメ $xxyy555 $aaa bbb 中にスペースを入れてはダメ $_aaaa_ $home-run ハイフン「-」は使ってはダメ $_333_value $~number チルダ「~」は使ってはダメ 変数に値を代入するには「=」演算子を使います。例えば、以下のようになります。
$num_a = 3; $num_b = 7 変数の型を変えるには、settype( )関数を利用するか、キャスティング(Casting)による型変換を行います。
(1) settype( )関数
書式: int settype (string var, string type)
用法: 変数varの型をtypeにセットします。typeの値は以下のいずれかを指定できます。成功すればtrueを、そうでなければfalseを返します。
"integer" 整数型 "double" 倍精度型 "string" 文字列型 "array" 配列型 "object" オブジェクト型 使用例: $tmp = 3.14; settype ($temp, string);
(2) キャスティングによる型変換
書式: $smp2 = ( string type ) $smp1
用法: 元になる変数$smp1の値を、括弧( )内の変数の型typeに変換して、変数$smp2に代入します。typeの値は上と一緒です。
使用例: $tmp = 3.14; $str = ( string ) $tmp;
可変変数
PHPでは、変数名自体を変数の中に保存する事ができます。これを可変変数(Dynamic Variable)と言います。以下に実例を示します。
$user = "tomo"; と
$myid = "user"; $$myid = "tomo"; は同じ事を意味します。 変数$myidに"user"を格納して、$$myidに"tomo"を格納していますが、これは$userに"tomo"を代入しているのと同じ事になります。
変数の参照
$aと言う変数を$bに単純にコピーした場合は、コピー後に変数$aの値を変更しても$bの値は変更されませんが、$aの前に&を付けて別の値を代入すると参照渡しになってしまい、結果$bの値も変わってしまいます。以下に例を示します。
$a = 100; $b = $a; $a = 50; この場合は、$bに$aをコピー後、$aに再び50を代入しても$bの値は100のままです。
$a = 100; $b = &$a; $a = 50; しかし、「$b = &$a;」と言う風に参照渡しにすると、後で$aの値を50に変更すると、$bの値も50に変更されてしまいます。
この事は、C言語で見られるアドレス渡しと考えて下さい。つまり、「$b = &$a;」では$bに$aの値を代入しているのではなく、$aのアドレスを渡しているのです。ですから、後で$aの値を変更してしまうと、当然$bの値も変更されてしまう訳です。
PHPの基本 前へ
次へ 定数