変数

 変数は、どんな言語にも定番のものです。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の基本 前へ

HOME

次へ 定数