首頁 >後端開發 >PHP問題 >PHP字串學習之怎麼去除其他字符,只留下數字

PHP字串學習之怎麼去除其他字符,只留下數字

青灯夜游
青灯夜游原創
2021-08-18 15:46:503130瀏覽

在先前的文章《PHP字串學習之將字串分成更小長度的子字串》中,我們介紹了分割字串,將字串分成更小子串的方法。這次繼續PHP字串的學習與練習,看看如何提取字串中的數字字符,有需要的可以參考參考~

本文的主題是:「提取字串中的數字字符」。例如我們給出下面一個字串

$str ='0我是123456一段测试的字789符串0';

如何去除其他字符,只回傳由字串中數字字符組成的子串「01234567890」?以下為大家介紹兩種方法:

先看看第一種方法:

<?php
header("content-type:text/html;charset=utf-8");
function findNum($str) {
	$str = trim($str);
	if (empty($str)) {
		echo &#39;&#39;;
	}else{
		$temp = array(&#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;, &#39;0&#39;);
		$result = &#39;&#39;;
		for ($i = 0; $i < strlen($str); $i++) {
			if (in_array($str[$i], $temp)) {
				$result .= $str[$i];
			}
		}
		echo $result;
	}
}
$str = &#39;0我是123456一段测试的字789符串0&#39;;
findNum($str);
?>

分析一下上面的程式碼:



  • 使用
  • trim($str)

    移除兩端的空格,利用if語句確保移除空格後的字串不是空字串。 建立一個分別包含0~9數字的字元陣列$temp

  • 利用for迴圈遍歷字串
  • $str

    ,將$str中的每一個字元和

    $temp
  • 陣列中的元素進行比較,取得到數字字元。 (使用in_array函數搜尋
$str

中的每個字元是否在

$temp

陣列中存在,這樣可以判斷字元是不是數字字元)。 PHP字串學習之怎麼去除其他字符,只留下數字

將取得的數字字元使用 “

.=”拼接在一起,輸出拼接好的字串即可。

看看輸出結果:
  • #OK,是文章開頭需要回傳的數字子字串「01234567890」!

  • 下面介紹
  • 第二種方法

    ,和第一種方法類似,只是將in_array()函數換成了is_numeric()函數。 <pre class="brush:php;toolbar:false">&lt;?php header(&quot;content-type:text/html;charset=utf-8&quot;); function findNum($str) { $str = trim($str); if (empty($str)) { echo &amp;#39;&amp;#39;; }else{ $result = &amp;#39;&amp;#39;; for ($i = 0; $i &lt; strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } echo $result; } } $str = &amp;#39;0我是123456一段测试的字789符串0&amp;#39;; findNum($str); ?&gt;</pre>分析一下上面的程式碼:

  • 利用for迴圈遍歷字串
$str

,但這次不借助數字字元數組和in_array ()函數來判斷是否為數字字元了,直接使用is_numeric()函數。 is_numeric()函數可以偵測變數是否為數字或數字字串。

PHP字串學習之怎麼去除其他字符,只留下數字

在迴圈體中使用

is_numeric($str[$i])判斷該​​$str[$i]

字元是不是數字字元;如果是則取出來,使用“.=”拼接成數字子字串。

看看輸出結果:################好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →###php影片教學######### 最後給大家推薦閱讀一個經典課程《###PHP字串處理(玉女心經版)###》,免費的~快來學習啊! ###

以上是PHP字串學習之怎麼去除其他字符,只留下數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn