PHP開発の過程では、受け取ったデータ型が必要なデータ型と異なることに必ず遭遇します。このとき、これから説明するPHP型変換を使用できます。今日はPHPの型変換についてです。見てみましょう。
整数と浮動小数点数に変換する
整数に変換できる型には、浮動小数点数、ブール値、文字列、リソースのみが含まれます。配列とオブジェクトは数値型 に変換できません。
浮動小数点数に変換する場合、文字列を浮動小数点数に変換するための独自のルールがあることを除き、他の値はまず整数に変換され(整数に変換できることが前提)、それから浮動小数点数に変換されます。 浮動小数点数から整数に変換する場合、切り捨て(小数点以下切り捨て)となります。浮動小数点数が整数の範囲外にある場合、正確な整数の結果を得るには精度が不十分であるため、結果は不定になります。この場合、警告はなく、通知さえありません。echo 0+"0xff","\n"; // 0 echo 0+"2.33","\n"; // 2.33 echo 0+"033","\n"; // 33 echo 0+"2e3","\n"; // 2000
null -> 0 true -> 1 false -> 0リソースを整数に変換すると、結果は PHP ランタイムによってリソースに割り当てられた一意のリソース番号になります。
文字列に変換
true -> "1" false -> "" null -> ""整数または浮動小数点数を文字列に変換し、値を文字列(10進数、小数点形式)に直接表現します配列を文字列に変換すると、結果は「配列」になりますオブジェクトが文字列に変換されると、結果は「Object」になりますリソースが文字列に変換されると、「リソースID#1」のような文字列はブール値に変換されます
他の値はブール値に変換され、次の値のみが false に変換され、その他はすべて true に変換されます:
整数 0
浮動小数点 0.0string "0"string" "空の配列(要素なし)空のオブジェクト(メンバーなし)NULL(未設定の変数を含む)空のタグから生成された単純なXMLオブジェクト 配列に変換整数、浮動小数点 点、ブール値、および文字列が配列に変換されると、新しい配列が取得されます。配列には要素が 1 つしかないため、要素の値は対応する整数、浮動小数点数、ブール値、または文字列になります。
null を配列に変換すると、結果は空の配列になります:
echo var_dump((array)null); //array(0) { }変換を表示
1 変数の前にキャスト演算子を追加できます: (int)(integer)
(float)(double)(real)
(bool)(boolean)
(string)
(array)
(object)
この方法は変わりません。変数のデータ型ですが、式のデータ型のみが変更されます。
2. settype(var, type) 関数を使用します
$var = true; settype($var, "integer"); var_dump($var); // int(1)変数の型と値が変更されていることがわかります3. intval()/floatval()/boolval()/strval を使用します。 () 一連の関数 これらの関数は変数の値を変更しないことに注意してください
$var = "0xff"; $num = intval($var, 16); var_dump($var); // string(4) "0xff" var_dump($num); // int(255)intval() 関数の最初のパラメータが文字列の場合、値の基数を指定するオプションの 2 番目のパラメータを指定できます文字列内に .このパラメータが指定されていない場合は、デフォルトで 10 進数で処理されます。パラメータに 0 を指定した場合は、文字列形式で自動的に決定されます (0x から始まるのは 16 進数です...)intval()オブジェクト型には使用できません この関数は、変換された整数値を返します。変換が失敗した場合は、0 を返します。パラメータが配列の場合は、空でない配列の場合は 1 を返し、空の配列の場合は 0 を返します。 ) パラメータのブール値を取得します。 floatval()
関数
のパラメーターは、整数、浮動小数点数、ブール値、文字列などのスカラー型のみにすることができます。配列またはオブジェクトでは使用できません。strval() 関数のパラメーターは、整数、浮動小数点数、ブール値、文字列などのスカラー型のみにすることができます。配列またはオブジェクトでは使用できません。
どのような状況では暗黙的な変換は実行されませんか?
算術演算子の両方のオペランドは数値型に変換されます。
string concatenation 演算子の両方のオペランドは文字列型に変換されます。
文字列を必要とする式では、自動的に文字列に変換されます。この変換は、たとえば、関数 echo または print を使用するとき、または変数を文字列と比較するときに発生します。
上記はphpの型変換のすべての内容です。詳細については、このサイトを検索してください。
関連する推奨事項:
以上がPHPでの型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。