ホームページ  >  記事  >  バックエンド開発  >  PHPが変換する数値の型は何ですか?

PHPが変換する数値の型は何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-10 10:00:253286ブラウズ

php のデジタル型の変換には次のものが含まれます: 1. 自動型変換、文字列は数値に変換され、整数は浮動小数点数に変換され、浮動小数点数は小数点が破棄された整数に変換され、NULL 値が変換されます。 2. 強力な型変換、[intval()] は整数型に変換され、[floatval()] は浮動小数点数に変換されます。

PHPが変換する数値の型は何ですか?

PHP 変換数値タイプは次のとおりです:

PHP は、Java、C、および他の言語とは異なり、弱い型指定言語です。強く型付けされた言語の違いは、弱く型付けされた言語はデータ型を自動的に変換するのに対し、強く型付けされた言語は手動で型を宣言する必要があることです。

1) 自動型変換、5つのデータ型、4種類のスカラーとnullを演算により自動変換できます。 ブール値は操作に参加します

true ---> 1 false ---> 0

  • 文字列と数値の操作。文字列は操作の前にまず数値に変換されます。

  • 文字列を先頭から数値に変換し、数値ではない最初の文字で終了します (一致しない内容はクリアされます)。

  • 整数は浮動小数点数に変換され、精度は変わりません。

  • 浮動小数点数を整数に変換し、小数点を切り捨て、整数部分を保持します。

  • #浮動小数点数が整数の範囲外の場合、答えは不定になります。
  • null 値は空の文字列である文字列に変換されます。
  • //bool to int
    var_dump(true + 1);//2 true->1
    var_dump(false + 1);//1 false->0
    var_dump(null + 1);// 1 null-> 0
    echo &#39;<hr/>&#39;;
    // bool to float
    var_dump(true + 1.0);// float 2
    var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1
    echo &#39;<hr/>&#39;;
    //string to int
    var_dump(&#39;123&#39; + 1);//124 &#39;123&#39;->123
    var_dump(&#39;abc123&#39; + 1);//1 &#39;abc123&#39;->0
    var_dump(&#39;123abcdefggggggggggg;8000&#39; + 1);//124
    var_dump(&#39;a123&#39; + 1);//1
    var_dump(&#39;1a123&#39; + 1);//2
    //php7.0版本所有进制都不转
    var_dump(&#39;077abc&#39;+1);// 78 077->77 八进制不转换
    var_dump(&#39;0b11abc&#39;+1);//1 //0b 不转换
    var_dump(&#39;0xffhsahahhahah&#39;+1);//1 0x不转换
    //php 5.6以下都会转换为 0xff->255
    echo &#39;<hr/>&#39;;
    //string to float
    var_dump(&#39;1.234abcdef&#39;+ 1.0);//2.234
    var_dump(&#39;1.234E3&#39;+1.0);//1235
    var_dump(&#39;1e5&#39;+1.0);//2 100001
    var_dump(&#39;1E-5&#39;+1.0);//1.00001
2) 強力な型変換

括弧と変換対象の型を使用します

(int)(integer)
 (bool)(boolean)
 (float)(real)
  (string)
  (array)
  (object)

型変換関数を使用します

settype()

永続変換型関数(キーポイント)最初のパラメータは変更したい型の変数です

2 番目のパラメータは型です変更したい名前


intval()
整数型に変換floatval()
浮動小数点数に変換strval()
文字列に変換<pre class="brush:php;toolbar:false">&lt;?php $a = 1; var_dump($a); var_dump((int)$a); var_dump((integer)$a); var_dump((bool)$a); var_dump((float)$a); var_dump((real)$a); var_dump((string)$a); var_dump((array)$a); var_dump((object)$a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); echo &amp;#39;&lt;hr/&gt;&amp;#39;; $b = 100; var_dump($b); //下面函数是永久有效的类型转换 settype($b,&amp;#39;string&amp;#39;); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); echo &amp;#39;&lt;hr/&gt;&amp;#39;; //下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已 $m = 200; var_dump(intval($m)); var_dump(floatval($m)); var_dump(strval($m)); var_dump($m); var_dump($m); var_dump($m);</pre>

関連する学習の推奨事項:
PHP プログラミングの入門から熟練度まで

以上がPHPが変換する数値の型は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。