ホームページ >バックエンド開発 >PHPの問題 >PHPで文字列が数値かどうかを検出する方法

PHPで文字列が数値かどうかを検出する方法

青灯夜游
青灯夜游オリジナル
2022-08-29 19:21:535440ブラウズ

2 つの検出方法: 1. is_numeric() 関数を使用して、文字列が数値文字列であるかどうかを検出します。構文は「is_numeric (string)」です。TRUE が返された場合は数値文字列であり、その逆も同様です。 2. 文字列を数値型に変換し、その数値と元の文字列が等しいかどうかを比較します。構文は「strcmp((float)$str,$str)==0」です。TRUE が返された場合、その逆はありません。

PHPで文字列が数値かどうかを検出する方法

このチュートリアルの動作環境: 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");

?>

PHPで文字列が数値かどうかを検出する方法

方法 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");
?>

PHPで文字列が数値かどうかを検出する方法

手順:

1. 強制型変換

変換する変数の前にターゲットの型を括弧で囲んで追加するだけです。括弧内で使用できる変数の型は次のとおりです:

  • (int), (integer): 変換整数型。

  • (bool)、(boolean): ブール型に変換;

  • (float)、(double)、(real): 変換浮動小数点型に変換;

  • (文字列): 文字列型に変換;

  • (配列): 配列型に変換;

  • (オブジェクト): オブジェクト型に変換されます。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;123.456abc&#39;;
echo &#39;原变量 $str 的类型为:&#39;.gettype($str)."<br>";
$int = (int)$str;
echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
$float = (float)$str;
echo &#39;变量 $float 的类型为:&#39; . gettype($float) . &#39;<br>&#39;;
$bool = (bool)$str;
echo &#39;变量 $bool 的类型为:&#39; . gettype($bool). &#39;<br>&#39;;
$arr = (array)$str;
echo &#39;变量 $arr 的类型为:&#39; . gettype($arr);
?>

PHPで文字列が数値かどうかを検出する方法

2. strcmp() 関数

strcmp() 関数は 2 つの文字列を比較します。

strcmp(string1,string2)
戻り値: 関数の戻り値:
  • 0 - 2 つの文字列が等しい場合
  • < ;0 - string1 が string2
  • より小さい場合>0 - string1 が string2 より大きい場合

推奨学習: " PHP ビデオ チュートリアル >>

以上がPHPで文字列が数値かどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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