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

黄舟
リリース: 2016-12-13 13:03:02
オリジナル
1360 人が閲覧しました

<?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");
int();
例:
$b=(int)$a;
$b=(int)$a; //$b=0;
$b=(int)$a;

$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」 - > 10

「10」 - > 10

「10 テスト」 - > 10

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