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
文字列に変換
true -> "1" false -> "" null -> ""
他の値はブール値に変換され、次の値のみが 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)
$var = "0xff"; $num = intval($var, 16); var_dump($var); // string(4) "0xff" var_dump($num); // int(255)
関数
のパラメーターは、整数、浮動小数点数、ブール値、文字列などのスカラー型のみにすることができます。配列またはオブジェクトでは使用できません。strval() 関数のパラメーターは、整数、浮動小数点数、ブール値、文字列などのスカラー型のみにすることができます。配列またはオブジェクトでは使用できません。
どのような状況では暗黙的な変換は実行されませんか?
算術演算子の両方のオペランドは数値型に変換されます。
string concatenation 演算子の両方のオペランドは文字列型に変換されます。
文字列を必要とする式では、自動的に文字列に変換されます。この変換は、たとえば、関数 echo または print を使用するとき、または変数を文字列と比較するときに発生します。
上記はphpの型変換のすべての内容です。詳細については、このサイトを検索してください。
関連する推奨事項:
以上がPHPでの型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。