PHP学習ノート——変数タイプ
1750 ワード
phpにおける変数タイプは、その中に格納されているデータ型によって決定される.
phpは、次のデータ型をサポートします. Integer:整数タイプ Float(or double):浮動小数点数タイプ String:文字列タイプ Boolean:ブールタイプ、true or false Array:配列タイプ Object:クラスのインスタンス を格納するオブジェクトタイプ
2つの特殊なデータ型があります. NULL:変数が割り当てられていないか、リセット(unset)されているか、NULLに直接割り当てられている場合、この変数のタイプはNULL である. Resource:通常、データベース接続などの外部リソースについて説明します.これらの変数を直接操作することはできませんが、通常は後続の関数に転送して操作する必要があります.
phpが弱いタイプ、または動的タイプ言語と呼ばれるのは、変数のタイプが与えられた値によって決定され、固定的ではないからである.一方、強いタイプ、またはコンパイルタイプの言語では、1つの変数は1つのデータ型しか表すことができず、古典的なC言語のように使用する前に定義する必要があります.
たとえば、phpスクリプトで変数$dogtutuを使用し、次のように初期値を割り当てます.
変数に3を与えているので,このとき変数$dogtutのタイプがIntegerタイプである.次に、スクリプトで次のような値付け文を使用します.
この場合、変数$dogtuutuに文字列が割り当てられるので、変数$dogtuutuのタイプがStringタイプになります.これがphp変数の柔軟性です.
タイプ変換
phpにおけるタイプ変換は,C言語の動作モードと完全に一致し,いずれも変数または数値の前に
変数$catはIntegerタイプであり、$dogはfloatタイプである.
かへんへんすう
phpには、変数の名前を動的に変更できる可変変数(the variable variable)という特殊な変数が用意されています.
通常、$tireqtyなどの名前が固定された変数を定義しますが、phpでは別の変数を名前として使用して変数を定義できます.
たとえば、変数$varnameを定義します.
では、$$varnameはいわゆる可変変数であり、変数$varnameの値を自分の変数名として使用するので、$dogtutuに等価である.たとえば、次の文を実行します.
出力の値は5ですが、不思議ではありませんか.
しかし、このような目的は何なのか疑問に思うかもしれません.この特性は何の役に立つのですか.私が考えることができるシーンの一つは、多くの変数が統一的に処理する必要がある場合、1つ1つの処理が面倒すぎる場合、1つのループを使用して、可変変数ですべての変数を遍歴して、統一的な処理をすると、便利になるのではないでしょうか.
ご覧のようにphpは本当に柔軟な言語で、変数のタイプを動的に変えることができるだけでなく、変数の名前を動的に変えることができます.本当に自由には限界がありません.
phpは、次のデータ型をサポートします.
2つの特殊なデータ型があります.
phpが弱いタイプ、または動的タイプ言語と呼ばれるのは、変数のタイプが与えられた値によって決定され、固定的ではないからである.一方、強いタイプ、またはコンパイルタイプの言語では、1つの変数は1つのデータ型しか表すことができず、古典的なC言語のように使用する前に定義する必要があります.
たとえば、phpスクリプトで変数$dogtutuを使用し、次のように初期値を割り当てます.
$dogtutu = 3;
変数に3を与えているので,このとき変数$dogtutのタイプがIntegerタイプである.次に、スクリプトで次のような値付け文を使用します.
$dogtutu = "hello";
この場合、変数$dogtuutuに文字列が割り当てられるので、変数$dogtuutuのタイプがStringタイプになります.これがphp変数の柔軟性です.
タイプ変換
phpにおけるタイプ変換は,C言語の動作モードと完全に一致し,いずれも変数または数値の前に
(type)
を用いて直接変換される.次のようになります.$cat = 5;
$dog = (float)$cat;
変数$catはIntegerタイプであり、$dogはfloatタイプである.
かへんへんすう
phpには、変数の名前を動的に変更できる可変変数(the variable variable)という特殊な変数が用意されています.
通常、$tireqtyなどの名前が固定された変数を定義しますが、phpでは別の変数を名前として使用して変数を定義できます.
たとえば、変数$varnameを定義します.
$varname = 'dogtutu';
では、$$varnameはいわゆる可変変数であり、変数$varnameの値を自分の変数名として使用するので、$dogtutuに等価である.たとえば、次の文を実行します.
$$varname = 5;
echo $dogtutu;
出力の値は5ですが、不思議ではありませんか.
しかし、このような目的は何なのか疑問に思うかもしれません.この特性は何の役に立つのですか.私が考えることができるシーンの一つは、多くの変数が統一的に処理する必要がある場合、1つ1つの処理が面倒すぎる場合、1つのループを使用して、可変変数ですべての変数を遍歴して、統一的な処理をすると、便利になるのではないでしょうか.
ご覧のようにphpは本当に柔軟な言語で、変数のタイプを動的に変えることができるだけでなく、変数の名前を動的に変えることができます.本当に自由には限界がありません.