この記事では、主に intval()
型変換と (int)
強制型変換の関数と定義の違いをいくつかの例で比較し、両者を区別します。
#1.intval() 関数
構文:
intval ( mixed $value , int $base = 10 ) : int
value は、
integer に変換される数量値です。
base は、変換に使用されるベースです (そうではありません)。デフォルトは 10 進数です)
int type variable
value でない場合文字列である場合、
base は機能しません。
例:
<?php echo intval(42)."<br>"; // 42 echo intval(4.2)."<br>"; // 4 echo intval('42')."<br>"; // 42 echo intval('+42')."<br>"; // 42 echo intval('-42')."<br>"; // -42 echo intval(042)."<br>"; // 34 echo intval('042')."<br>"; // 42 echo intval(1e10)."<br>"; // 1410065408 echo intval('1e10')."<br>"; // 1 echo intval(0x1A)."<br>"; // 26 echo intval(42000000)."<br>"; // 42000000 echo intval(420000000000000000000)."<br>"; // 0 echo intval('420000000000000000000')."<br>"; // 2147483647 echo intval(42, 8)."<br>"; // 42 echo intval('42', 8)."<br>"; // 34 echo intval(array())."<br>"; // 0 echo intval(array('foo', 'bar'))."<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)'42'; // 42 echo "<br>"; echo (int)'+42'; // 42 echo "<br>"; echo (int)'-42'; // -42 echo "<br>"; echo (int)042; // 34 echo "<br>"; echo (int)'042'; // 42 echo "<br>"; echo (int)1e10; // 1410065408 echo "<br>"; echo (int)'1e10'; //2147483647 echo "<br>"; echo (int)0x1A; // 26 echo "<br>"; echo (int)42000000;// 42000000 echo "<br>"; echo (int)420000000000000000000; //-1609564160 echo "<br>"; echo (int)'420000000000000000000'; //2147483647 echo "<br>"; /*echo intval(42, 8)."<br>"; echo intval('42', 8)."<br>"; */ /*int的强制转换不是函数,所以无法实现*/ echo (int)array();// 0 echo "<br>"; echo (int)array('foo', 'bar');//1 echo "<br>"; echo (int)false; //0 echo "<br>"; echo (int)true; //1 echo "<br>"; ?>
3. 概要:
強制変換と intval ()
関数は、boolean
、int
、float
、array
に直面しても一貫性を保ちます (それぞれに表示される最大値を超えません)各タイプ)。
パラメータが文字列の場合、文字列内の数字ではない最初の文字の前にある数字文字列で表される整数値を返します。文字列の最初の文字が「-」の場合、2 番目の文字からカウントが開始されます。パラメータがドット付き数値の場合、その四捨五入された値が返されます。
型の最大値は 2147483647
通常、型変換時は最大値を超える場合は最大値が表示されます。 , ( int)
とすると -1609564160
と表示されます。
以上がPHP で intval() と (int) を区別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。