2 つの検出方法: 1. is_numeric() 関数を使用して、文字列が数値文字列であるかどうかを検出します。構文は「is_numeric (string)」です。TRUE が返された場合は数値文字列であり、その逆も同様です。 2. 文字列を数値型に変換し、その数値と元の文字列が等しいかどうかを比較します。構文は「strcmp((float)$str,$str)==0」です。TRUE が返された場合、その逆はありません。
このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター
方法 1: is_numeric( ) この関数は、
文字列に数字のみが含まれていることを検出し、その文字列は数値文字列です。
is_numeric() 関数は、文字列が数値文字列であるかどうかを検出できます。
is_numeric ($var)
$var: 検出する変数。
指定された変数 $var が数値または数値文字列の場合は TRUE を返し、それ以外の場合は FALSE を返します。 float は 1 (TRUE) を返すことに注意してください。 (つまり、整数と小数の両方をチェックできます)。
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ if (is_numeric($str)){ echo "$str 是数字字符串<br><br>"; } else{ echo "$str 不是数字字符串<br><br>" ; } } f("a678"); f("678"); f("3.14"); ?>
方法 2: キャスト型の変換と等しいかどうかの比較
キャスト型によって、文字列を数値型に変換します。
数値と元の文字列が等しいかどうかを比較します。
数値が等しい場合、元の文字列は数値文字列です。
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $num=(float)$str; if (strcmp($num,$str)==0){ echo "$str 是数字字符串<br><br>"; } else{ echo "$str 不是数字字符串<br><br>" ; } } f("3.14"); f("a678"); f("678"); f("23d5"); ?>
手順:
1. 強制型変換
変換する変数の前にターゲットの型を括弧で囲んで追加するだけです。括弧内で使用できる変数の型は次のとおりです:
(int), (integer): 変換整数型。
(bool)、(boolean): ブール型に変換;
(float)、(double)、(real): 変換浮動小数点型に変換;
(文字列): 文字列型に変換;
(配列): 配列型に変換;
(オブジェクト): オブジェクト型に変換されます。
<?php header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原变量 $str 的类型为:'.gettype($str)."<br>"; $int = (int)$str; echo '变量 $int 的类型为:' . gettype($int) . '<br>'; $float = (float)$str; echo '变量 $float 的类型为:' . gettype($float) . '<br>'; $bool = (bool)$str; echo '变量 $bool 的类型为:' . gettype($bool). '<br>'; $arr = (array)$str; echo '变量 $arr 的类型为:' . gettype($arr); ?>
2. strcmp() 関数
strcmp() 関数は 2 つの文字列を比較します。
strcmp(string1,string2)
戻り値: | 関数の戻り値:
|
---|
推奨学習: " PHP ビデオ チュートリアル >>
以上がPHPで文字列が数値かどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。