PHP で intval() と (int) を区別する方法

autoload
リリース: 2023-04-09 20:44:01
オリジナル
2796 人が閲覧しました

この記事では、主に intval() 型変換と (int) 強制型変換の関数と定義の違いをいくつかの例で比較し、両者を区別します。

#1.intval() 関数

構文:

intval ( mixed $value , int $base = 10 ) : int
ログイン後にコピー

  • value は、 integer に変換される数量値です。

  • base は、変換に使用されるベースです (そうではありません)。デフォルトは 10 進数です)

  • 戻り値:

    int type variable

PS:

value でない場合文字列である場合、base は機能しません。

例:

<?php
echo intval(42)."<br>";                      // 42
echo intval(4.2)."<br>";                     // 4
echo intval(&#39;42&#39;)."<br>";                    // 42
echo intval(&#39;+42&#39;)."<br>";                   // 42
echo intval(&#39;-42&#39;)."<br>";                   // -42
echo intval(042)."<br>";                     // 34
echo intval(&#39;042&#39;)."<br>";                   // 42
echo intval(1e10)."<br>";                    // 1410065408
echo intval(&#39;1e10&#39;)."<br>";                  // 1
echo intval(0x1A)."<br>";                    // 26
echo intval(42000000)."<br>";                // 42000000
echo intval(420000000000000000000)."<br>";   // 0
echo intval(&#39;420000000000000000000&#39;)."<br>"; // 2147483647
echo intval(42, 8)."<br>";                   // 42
echo intval(&#39;42&#39;, 8)."<br>";                 // 34
echo intval(array())."<br>";                 // 0
echo intval(array(&#39;foo&#39;, &#39;bar&#39;))."<br>";     // 1
echo intval(false)."<br>";                   // 0
echo intval(true)."<br>";                    // 1
?>
ログイン後にコピー

2. (int) 強制変換

デモ:

<?php
echo (int)42;     // 42
echo "<br>";
echo (int)4.2;    // 4
echo "<br>";                   
echo (int)&#39;42&#39;;   // 42
echo "<br>";                    
echo (int)&#39;+42&#39;;  // 42
echo "<br>";                  
echo (int)&#39;-42&#39;;  // -42
echo "<br>";                 
echo (int)042;    //  34
echo "<br>";                    
echo (int)&#39;042&#39;;  // 42
echo "<br>";                  
echo (int)1e10;   // 1410065408
echo "<br>";                    
echo (int)&#39;1e10&#39;; //2147483647
echo "<br>";                
echo (int)0x1A;   // 26
echo "<br>";                    
echo (int)42000000;// 42000000
echo "<br>";                
echo (int)420000000000000000000;  //-1609564160
echo "<br>"; 
echo (int)&#39;420000000000000000000&#39;; //2147483647
echo "<br>";

/*echo intval(42, 8)."<br>";                   
echo intval(&#39;42&#39;, 8)."<br>";              */
/*int的强制转换不是函数,所以无法实现*/  
                
echo (int)array();// 0
echo "<br>";                 
echo (int)array(&#39;foo&#39;, &#39;bar&#39;);//1
echo "<br>";     
echo (int)false;   //0
echo "<br>";              
echo (int)true;    //1
echo "<br>";                   
?>
ログイン後にコピー

3. 概要:

  1. ##int

    強制変換と intval () 関数は、booleanintfloatarray に直面しても一貫性を保ちます (それぞれに表示される最大値を超えません)各タイプ)。

  2. intval()

    パラメータが文字列の場合、文字列内の数字ではない最初の文字の前にある数字文字列で表される整数値を返します。文字列の最初の文字が「-」の場合、2 番目の文字からカウントが開始されます。パラメータがドット付き数値の場合、その四捨五入された値が返されます。

  3. int

    型の最大値は 2147483647通常、型変換時は最大値を超える場合は最大値が表示されます。 , ( int) とすると -1609564160 と表示されます。

以上がPHP で intval() と (int) を区別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!