php の強制変換タイプには、1. 整数型への変換、2. ブール型への変換、3. 浮動小数点型への変換、4. 文字列への変換、5. 配列への変換、6. への変換が含まれます。物体。
php の型強制型は次のとおりです:
PHP の型強制は C の型強制とよく似ています。変換対象の前に、括弧で囲まれたターゲットの型が続きます。
許可されるキャストは次のとおりです:
(int),(integer) - 整数型に変換します
(bool ) ,(boolean) - ブール型に変換します
#(float),(double),(real) - 浮動小数点型に変換
1. ブール値への強制変換 (bool)|(boolean)
空白文字列および文字列 "0"
メンバー変数のない配列セルのないオブジェクト (PHP 4 のみ)特別なタイプ NULL (設定されていない変数を含む)他のすべての値は TRUE (リソースを含む) とみなされます。<?php var_dump((bool) ""); // bool(false) var_dump((bool) 1); // bool(true) var_dump((bool) -2); // bool(true) var_dump((bool) "foo"); // bool(true) var_dump((bool) 2.3e5); // bool(true) var_dump((bool) array(12)); // bool(true) var_dump((bool) array()); // bool(false) var_dump((bool) "false"); // bool(true) ?>
2. 整数への強制変換 (int)|(integer)
値を明示的に整数に変換するには、(int) または (integer) キャストを使用します。ただし、演算子、関数、またはフロー制御で整数パラメーターが必要な場合、値は自動的に変換されるため、ほとんどの場合、キャストは必要ありません。関数 intval() を使用して値を整数型に変換することもできます。 a. ブール値から変換b. 浮動小数点数から変換、丸め、範囲外、結果は不確実ですc. 文字列から変換、「文字列の変換」を参照してください。数値d. 最初に他の型から bool 値に変換し、次に未知の分数を強制的に整数に変換しないでください。予期しない結果が生じる可能性があります。
<?php echo (int) ( (0.1+0.7) * 10 ); // 显示 7 ?> $str = "123.456abc7"; // (int)123 echo (int)$str; $str = "abc123.456"; // (int)0 $str = true; // (int)1 $str = false; // (int)0
3. 浮動小数点型への強制変換 (int)|(double)|(real)|doubleval()|floatval()|intval()
精度: 0.12345678901234 // double と real は同じです データの欠落しているパラメータ文字列を数値に変換します4. 強制変換to string (string) |strval()
(string) 表記または strval()
関数を使用して、値を文字列に変換できます。式に文字列が必要な場合、文字列の変換は式のスコープ内で自動的に行われます。たとえば、echo()
またはprint()
関数を使用する場合、または変数値を文字列と比較する場合です。ブール値 TRUE は文字列 "1" に変換され、値 FALSE は "" (つまり空の文字列) として表されます。これにより、ブール値と文字列を自由に比較できるようになります。
整数または浮動小数点値が文字列に変換される場合、文字列はこれらの値を表す数値で構成されます (浮動小数点数には指数部も含まれます)。
配列は文字列「Array」に変換されるため、配列の内容を echo() 関数や print() 関数を通じて出力することはできません。その他のヒントについては、以下を参照してください。
print_r()
およびPHP 値を文字列に変換して、永続的に保存できます。このメソッドはシリアル化と呼ばれ、関数 serialize()
を使用して実行できます。 PHP のインストール時に WDDX サポートを設定すると、PHP 値を XML 構造にシリアル化することもできます。
5. 配列へのキャスト
任意の型: 整数、浮動小数点、文字列、ブール値、リソースの値を配列に変換すると、次のようになります。このスカラーの値である 1 つの要素 (添字は 0) のみを持つ配列。
オブジェクトを配列に変換すると、結果の配列の要素がオブジェクトの属性 (メンバー変数) となり、そのキー名がメンバー変数名になります。
NULL 値を配列に変換すると、空の配列が得られます。
6. オブジェクト (オブジェクト) への変換
オブジェクトをオブジェクトに変換しても、それは何も変わりません。
他のタイプの値がオブジェクトに変換される場合、組み込みクラス stdClass のインスタンスが作成されます。
値が NULL の場合、新しいインスタンスは空です。配列をオブジェクトに変換すると、キーが対応する値を持つプロパティ名になります。
その他の値の場合、scalar という名前のメンバー変数には値
7 が含まれます。リソースに変換 (変換できません)
原因リソース タイプ変数は、開いているファイル、データベース接続、グラフィック キャンバス領域などの特別なハンドルを保持するため、他のタイプの値をリソースに変換することはできません。
注
HTML フォームは、整数、浮動小数点数、またはブール値を渡しません。文字列のみを渡します。文字列が数値かどうかを確認するには、is_numeric() 関数を使用できます。
変数 $x が定義されていない場合、if ($x) などを使用すると E_NOTICE レベルのエラーが発生します。したがって、空の使用を検討できます
関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで
以上がphpにはどのような種類のキャストがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。