2種方法:1、用for遍歷字串,在迴圈體中將數字字元拼接成子字串,語法「for($i=0;$i<字串長度;$i ) {if(is_numeric($str[$i])){$r.=$str[$i];}}”;2、用preg_replace()配合正規表達式來過濾字符,提取數字字符,語法“preg_replace ("/[^0-9]/", "", $str)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php字串只留下數字的兩種方法
方法1:使用for語句is_numeric() “.=”字串拼接
##
<?php header("content-type:text/html;charset=utf-8"); function findNum($str) { $str = trim($str); if (empty($str)) { echo ''; }else{ $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } var_dump($result); } } $str = '0我是123456一段测试的字789符串0'; echo "原字符串:"; var_dump($str); echo "过滤其他字符串后:"; findNum($str); ?>分析一下上面的程式碼:
is_numeric($ str[$i])判斷該
$str[$i]字元是不是數字字元;
.=」拼接成數字子字串。
#方法2、使用preg_replace()函數
<?php $str ='0我是123456一段测试的字789符串0'; $result = preg_replace("/[^0-9]/", "", $str); echo $result; ?>分析一下上面的關鍵程式碼:
preg_replace("/[^0-9]/", "", $str)的意思是符合除了0 ~9間的數字以外的字符,並將這些字符替換為空字符,即刪除這些字符即可。那就只剩下數字字元了,所以輸出結果為:
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count ]])”,表示搜尋subject 中符合pattern 的部分, 以replacement 替換;可選參數limit 用於設定最大可替換次數(預設值是-1,可無限制)。
PHP影片教學》
以上是php字串怎麼只留下數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!