ホームページ  >  記事  >  バックエンド開発  >  PHPで文字列をフィルタリングして数値のみを取得する方法

PHPで文字列をフィルタリングして数値のみを取得する方法

青灯夜游
青灯夜游オリジナル
2021-10-09 18:31:073248ブラウズ

取得方法: 1. for ステートメントを使用して文字列をループし、ループ本体で is_numeric() 関数を使用して数値を抽出し、「.=」演算子を使用してそれらを新しい文字列に結合します。弦。 2. 正規表現を使用し、「preg_replace("/[^0-9]/", "", $str)」ステートメントを使用します。

PHPで文字列をフィルタリングして数値のみを取得する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

方法 1: is_numeric を使用する() 関数

<?php
header("content-type:text/html;charset=utf-8");
function findNum($str) {
	$str = trim($str);
	if (empty($str)) {
		echo &#39;&#39;;
	}else{
		$result = &#39;&#39;;
		for ($i = 0; $i < strlen($str); $i++) {
			if (is_numeric($str[$i])) {
				$result .= $str[$i];
			}
		}
		echo $result;
	}
}
$str = &#39;0我是123456一段测试的字789符串0&#39;;
findNum($str);
?>
  • は、for ループを使用して文字列 $str を走査し、is_numeric() 関数を使用して $str[$i]# かどうかを判断します。 ## は数字です。 is_numeric() 関数は、変数が数値であるか数値文字列であるかを検出できます。

  • ループ本体で is_numeric($str[$i]) を使用して、$str[$i] 文字が数字かどうかを判断します。そうであれば、それを取り出して使用します。 「.= 」はデジタル部分文字列に結合されます。

  • #出力を見てください:
01234567890

方法 2: preg_replace() 関数を使用します

<?php
$str =&#39;0我是123456一段测试的字789符串0&#39;;
$result = preg_replace("/[^0-9]/", "", $str);
echo $result;
?>

##推奨学習: 「PHPで文字列をフィルタリングして数値のみを取得する方法PHP ビデオ チュートリアル

以上がPHPで文字列をフィルタリングして数値のみを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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