PHPでデータ型変換を強制する方法

青灯夜游
リリース: 2023-03-13 21:52:01
オリジナル
2890 人が閲覧しました

強制変換方法: 1. 変換対象の型 ("(int)"、"(bool)"、"(float)" など) を括弧で囲んで変換対象の変数の前に追加します。型変換関数 intval()、floatval()、boolval()、strval()、settype() を使用します。

PHPでデータ型変換を強制する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

PHP 強制型変換

PHP での強制型変換は他の言語と非常によく似ており、変換する変数の前にかっこで囲まれたターゲットの型を追加できます (例: $var) = (int )3.1415;)、特定の型変換関数 (intval()floatval()strval()## など) を使用することもできます。 # など) または settype() を使用して型を変換します。

括弧で囲まれたターゲットの型を変数の前に追加して変数の型をキャストする場合、括弧内で許可される変数の型は次のとおりです。

  • (int), (integer): 整数型に変換;

  • (bool), (boolean) : ブール型に変換;

  • (float)(double)(real) : 浮動小数点型に変換;

  • (string): 文字列型に変換;

  • ( array): 配列型に変換;

  • (object): オブジェクト型に変換します。

特定の変換関数を使用する

intval()floatval()boolval() strval () 変数の型を変換する場合、これらの関数の機能は次のとおりです。

  • intval(): 変数の整数値を取得するために使用されます。

  • ##floatval(): 変数の浮動小数点値の取得に使用;
  • boolval(): 変数のブール値の取得に使用;
  • strval(): 変数の文字列値を取得するために使用されます。
  • [例] 上記の関数を使用して、変数の型を強制します。
<?php
    $str = &#39;123.456abc&#39;;
    $int = intval($str);
    echo &#39;变量 $int 的类型为:&#39;.gettype($int).&#39;<br>&#39;;
    $float = floatval($str);
    echo &#39;变量 $float 的类型为:&#39;.gettype($float).&#39;<br>&#39;;
    $string = strval($str);
    echo &#39;变量 $string 的类型为:&#39;.gettype($string);
?>
ログイン後にコピー

実行結果は次のとおりです。

变量 $int 的类型为:integer
变量 $float 的类型为:double
变量 $string 的类型为:string
ログイン後にコピー

上記の 2 つの強制型変換メソッドは、変換された変数自体の型を変更しませんが、次のように取得された新しい型のデータを変換します。新しい変数に代入すると、元の変数の型と値は変更されません。

変数自体の型を変更する必要がある場合は、

settype()

関数を使用できます。関数の構文形式は次のとおりです: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">settype(mixed &amp;$var, string $type)</pre><div class="contentsignin">ログイン後にコピー</div></div>このうち、 $var は変換する変数です。 ; $type は変換する型で、

boolean (bool)

integer (int) です。 float (double) stringarrayobjectnull[例] settype() 関数を使用して、変数の型を強制します。

<?php
    $str = (string)&#39;123abc&#39;;
    $bool = (bool)true;
    settype($str, &#39;integer&#39;);
    settype($bool, &#39;string&#39;);
    echo &#39;$str 的类型为:&#39;.gettype($str).&#39;<br> $bool 的类型为:&#39;.gettype($bool);
?>
ログイン後にコピー

実行結果は以下のとおりです。

$str 的类型为:integer
$bool 的类型为:string
ログイン後にコピー

強制型変換を使用する場合、以下の注意点があります。

    整数型は変換されます。浮動小数点型は整数型に比べて精度の範囲が非常に広いため、変換後の精度は変わりません;
  • 浮動小数点型を整数型に変換する場合タイプの場合、小数部分は自動的に破棄され、整数のみが保持されます。浮動小数点数が整数の有効範囲を超える場合、結果は未定義になります;
  • 文字列が数値に変換される場合、文字列の先頭から最後までが変換されます。数字文字ではない最初の文字が終了します (一致しない内容はクリアされます)、つまり、文字列の最初の文字が数字でない場合、変換結果は 0 になります。
  • ##NULL 値は string に変換され、結果は null 文字になります。

  • 推奨学習: 「

    PHP ビデオ チュートリアル

以上がPHPでデータ型変換を強制する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート