変数の型のジャグリング (ジャグリング) PHP では、変数の型を指定するために変数を宣言する必要はありません (またはサポートしません)。変数の型は、変数が使用されるコンテキストによって決まります。つまり、変数を指定した場合です。 var に文字列値が割り当てられている場合、var は文字列変数になります。 var に整数を代入すると、整数変数になります。 PHP が変数の型を自動的に変換する例としては、加算演算子「+」があります。いずれかのオペランドが double の場合、すべてのオペランドが double として評価され、結果も double になります。 それ以外の場合、オペランドは整数とみなされ、結果は整数になります。これは各オペランド自体の変数タイプには影響せず、唯一の変更は計算中のオペランドの処理方法であることに注意してください。 |
|
上記の例の最後の 2 つの式が少し奇妙に見える場合は、「文字列変換」セクションを参照してください。 変数を強制的に固定型として評価したい場合は、「キャスト」セクションを参照してください。変数の型を変更したい場合は、関数「settype()」の説明を参照してください。 変数の型の決定 PHP は変数自体の型を決定し、通常は必要に応じて変数をキャストするため、特定の変数の型が常に明らかであるとは限りません。 PHP には、この変数の型を調べる関数が含まれています。これらの関数は、gettype()、is_long()、is_double()、is_string()、is_array()、および is_object() です。 PHP での型 キャストは、C の場合とほとんど同じです。型は次のように記述されます。強制される変数の前に括弧を置きます。 |
|
次の強制メソッドが許可されます: (int)、(integer) - 整数 (実数)、(double)、(float) に強制変換 - 倍精度に強制変換 (文字列) - 文字列 (配列) に強制変換 - 配列 (オブジェクト ) に強制変換) – オブジェクトに強制 変換 されます。括弧内ではタブとスペースを使用できるため、次のステートメントは同等であることに注意してください。 $foo = (int) $ bar; 文字列が次のように評価される場合。数値、その結果および型は以下のように決定されます。 この文字列に文字「.」、「e」、または「E」が含まれている場合は double 型の変数として扱われ、それ以外の場合は整数として扱われます。 この文字列の値はプレフィックスによって決まります。文字列が有効な数値データで始まる場合、その数値データが文字列の評価の対象となる値となります。それ以外の場合、値はゼロです。有効な数値データは次の表記に従い、その後に 1 つ以上の数字 (小数点を含む場合があります)、その後にオプションの指数が続きます。指数は、1 つ以上の数字の後に「e」または「E」が続くことで形成されます。 |
|
詳細については、Unix マニュアルの strtod(3) セクションを参照してください。 |