ホームページ >バックエンド開発 >PHPチュートリアル >PHPサーバー変数の設定方法の紹介_PHPチュートリアル
変数の型変更 (ジャグリング)
PHP では、宣言された変数で変数の型を指定する必要はありません (またはサポートしません)。変数の型は、変数が使用されるコンテキストによって決まります。つまり、文字列値を変数 var に代入すると、var は文字列変数になります。 var に整数を代入すると、整数変数になります。
PHP が変数の型を自動的に変換する例は、加算演算子「+」です。いずれかのオペランドが double の場合、すべてのオペランドが double として評価され、結果も double になります。 それ以外の場合、オペランドは整数とみなされ、結果は整数になります。これは各オペランド自体の変数タイプには影響せず、唯一の変更は計算中のオペランドの処理方法であることに注意してください。
$foo = "0"; // $foo は文字列、値は "0" (ASCII 48)
$foo++; // $foo は文字列、値は "1" ( ASCII 49)
$foo += 1; // $foo は整数 (2) になります
$foo = $foo + 1.3 // $foo は倍精度 (3.3) になります
$foo = 5 + "10 匹の子豚"; // $foo は整数 (15) です
$foo = 5 + "10 匹の子豚" // $foo は整数 (15) です;
上記の例の最後の 2 つの式が少し奇妙に見える場合は、「文字列変換」セクションを参照してください。 変数を固定型として強制的に評価したい場合は、「キャスト」セクションを参照してください。変数の型を変更したい場合は、関数「settype()」の説明を参照してください。変数の型の決定
PHP は変数自体の型を決定し、通常は必要に応じて変換するため、特定の変数の型が常に明らかであるとは限りません。 PHP には、この変数の型を調べる関数が含まれています。これらの関数は、gettype()、is_long()、is_double()、is_string()、is_array()、および is_object() です。型キャスト (型キャスト)
PHP での型キャストは C の場合と同じです。言語 ほぼ同じです。強制される変数の前に必要な型を括弧内に書きます。$foo = 10; // $foo は整数です
$bar = (double) $foo; // $bar は倍精度数値です次の強制メソッドが許可されます:
( int)、(integer) – 整数に強制変換されます
(real)、(double)、(float) – double に強制変換されます
(string) – 文字列に強制変換されます
(array) – 配列に強制変換されます
(object) – オブジェクトに強制変換します
かっこ内ではタブとスペースを使用できるため、次のステートメントは同等であることに注意してください:
$foo = (int) $bar;$foo = ( int ) $ bar;
文字列変換
文字列を数値として計算する場合、その結果と型は以下のように決定されます。
この文字列に文字「.」、「e」、または「E」が含まれている場合は double 型の変数として扱われ、それ以外の場合は整数として扱われます。
この文字列の値は、単語の最初の部分によって決まります。文字列が有効な数値データで始まる場合、その数値データが文字列の評価の対象となる値となります。それ以外の場合、値はゼロです。有効な数値データはこれらの表記に従い、その後に 1 つ以上の数字 (小数点を含む場合があります)、その後にオプションの指数が続きます。指数は、1 つ以上の数字の後に「e」または「E」が続くことで形成されます。
$foo = 1 + "10.5"; // $foo は倍精度数 (11.5)$foo = 1 + "-1.3e3"; // $foo は倍精度数 (- 1299)
$foo = 1 + "bob-1.3e3"; // $foo は整数 (1)
$foo = 1 + "bob3"; // $foo は整数 (1) )
$foo = 1 + "10 匹の子豚"; // $foo は整数 (11)
$foo = 1 + "10 匹の子豚" // $foo は整数 (11) );
// この文字列には文字「e」が含まれています
http://www.bkjia.com/PHPjc/446697.html