ホームページ  >  記事  >  バックエンド開発  >  PHP での intval() 変換と (int) 変換の使用法と違い

PHP での intval() 変換と (int) 変換の使用法と違い

不言
不言オリジナル
2018-06-06 11:19:012993ブラウズ

この記事では主に PHP での intval() と (int) 変換の使用法と違いを紹介します。必要な友達に参考にしてもらいたいです。 intval() と ( int) の変換の違いは何ですか?または、機能や定義を含め、2 つの違いは何ですか。または使用頻度、効率などに関連します。

コードをコピーします

コードは次のとおりです:

<?php 
echo "<br/>数值强制转换:"; 
$string="2a"; 
$string1=intval($string); 
echo &#39;$string1的值:&#39;.$string1.&#39;$string2的值:&#39;;//单引号不会输出变量,将原样输出 
$string2=(int)($string); 
echo $string2 
?>
マニュアルには見つかりません。

これはマニュアルにも記載されています: 引用:

int intval (mixed $var [, int $base])
特定の基数変換を使用して変数 var の整数値を返します (デフォルトは 10 進数です)。これだけの違いがある場合、小数の場合には (int) を使用するのが良いでしょうか。

違いはありません。通常は (int) が使用されますが、float、string、array などもあります。
intval() は、パラメータが文字列の場合、文字列内の最初の文字の前の数値を返します。は数値ではありません 文字列で表される整数値。文字列の最初の文字が「-」の場合、2 番目の文字からカウントが開始されます。 パラメータがドット数値の場合、その四捨五入された値が返されます。
もちろん、intval()で返される値は4バイトの値で表現できる範囲内(-2147483648~2147483647)であり、この範囲を超える値は境界値に置き換えられます。
例:

intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; 
int();

例:

$a=0.13; 
$b=(int)$a; //$b=0; 
$a=0.99; 
$b=(int)$a; //$b=0; 
$a=1.01; 
$b=(int)$a; //$b=1; 
$a=1.99; 
$b=(int)$a; //$b=1;

PHP 文字列を int に変換します

場合によっては、変数の値を int 形式で持つことが重要です。たとえば、訪問者がフォームに年齢フィールドを入力する場合、これは int である必要があります。ただし、$_POST 配列では、文字列として取得されます。 PHP 文字列を int に変換するのは簡単です。キャストする前に変数の型を使用する必要があるため、(INT) を使用する必要があります。これを行う方法の例を次に示します:


コードをコピーします

コードは次のとおりです:

<?php $str = "10"; $num = (int)$str;?>
コードが実際に機能することを確認したい場合は、=== 演算子を使用できます。この演算子は値だけでなく型もチェックします。そのようなコードは次のようになります:


コードをコピーします

コードは次のとおりです:

<?php 
$str = "10"; 
$num = (int)$str; 
if ($str === 10) echo "String"; 
if ($num === 10) echo "Integer"; 
?>
未解決の問題もあります。文字列が単なる数字の文字列ではない場合はどうなるでしょうか。つまり、文字列内に他の文字が含まれているということです。この場合、変換操作は最善を尽くし、スペースのみが存在し、数値の後に有効な文字がない場合に文字列を変換できます。次のように動作します:

“10” - > 10 
“10.5” - > 10 
“10,5” - > 10 
“10” - > 10 
“10” - > 10 
“10test” - > 10 
“test10” - > 0

関連する推奨事項:

php での file_get_contents とcurl のパフォーマンスの比較分析

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

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