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を使用し、次のように初期値を割り当てます.
    $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は本当に柔軟な言語で、変数のタイプを動的に変えることができるだけでなく、変数の名前を動的に変えることができます.本当に自由には限界がありません.