数値強制変換:" $string1=intval($string) ); echo '$string1:'.$string1.'$string2:'の値;//一重引用符は変数を出力せず、そのまま出力されます $string2=(int)($string) ; エコー"/> 数値強制変換:" $string1=intval($string) ); echo '$string1:'.$string1.'$string2:'の値;//一重引用符は変数を出力せず、そのまま出力されます $string2=(int)($string) ; エコー">

ホームページ  >  記事  >  バックエンド開発  >  initvalとint変換の使用法とinitializecriticalsection phpでの違い

initvalとint変換の使用法とinitializecriticalsection phpでの違い

WBOY
WBOYオリジナル
2016-07-29 08:38:211188ブラウズ

コードをコピーします コードは次のとおりです:


echo "
Value Cast:"
$string1=intval($string) );
echo '$string1:'.$string1.'$string2:'の値;//一重引用符は変数を出力せず、そのまま出力されます
$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("1123Asdfka3243")=1123;
$a=0.13; a; //$b=0.99;
$a=(int)$a; $b=1;
$a=1.99;
$b=(int)$a; //$b=1;
PHP 文字列を int 形式で取得することが重要な場合があります。たとえば、訪問者がフォームに年齢フィールドを入力する場合、これは int である必要があります。ただし、$_POST 配列では、文字列として取得されます。
PHP 文字列を int に変換するのは簡単です。キャストする前に変数の型を使用する必要があるため、(int) を使用する必要があります。これを行う方法の例を次に示します。



コードをコピー

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


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



コードをコピー

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



$str = "10"; $num = (int)$str; str === 10) echo "文字列"; if ($num === 10) echo "整数";

別の質問があります。文字列が単なる数字の文字列ではない場合はどうなるでしょうか。つまり、文字列内に他の文字が含まれているということです。この場合、変換操作は最善を尽くし、スペースのみが存在し、数値の後に有効な文字がない場合に文字列を変換できます。次のように動作します:

"10" - > 10
"10,5" - > 10
"10" - > 10test " - > 10
"test10" - > 0
上記は、initializecriticalsection の内容を含め、PHP での intval 変換と int 変換の使用法と違いを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


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