Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen

Erfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen

青灯夜游
青灯夜游Original
2021-08-18 15:46:502991Durchsuche

Im vorherigen Artikel „PHP-String-Lernen: Strings in Teilstrings kleinerer Länge aufteilen“ haben wir die Methode zum Teilen von Strings und zum Teilen von Strings in kleinere Teilstrings vorgestellt. Dieses Mal werde ich weiterhin PHP-Zeichenfolgen lernen und üben und sehen, wie man numerische Zeichen in Zeichenfolgen extrahiert. Bei Bedarf können Sie darauf verweisen ~

Das Thema dieses Artikels lautet: „Extrahieren numerischer Zeichen in Zeichenfolgen“. Beispiel: Wie kann man anhand der folgenden Zeichenfolge

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

andere Zeichen entfernen und nur die Teilzeichenfolge „01234567890“ zurückgeben, die aus numerischen Zeichen in der Zeichenfolge besteht? Hier sind zwei Methoden: 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数组中存在,这样可以判断字符是不是数字字符)。

  • 将获取到的数字字符使用 “.=”拼接在一起,输出拼接好的字符串即可。

看看输出结果:

Erfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen

OK,是文章开头需要返回的数字子串“01234567890”!

下面介绍第二种方法,和第一种方法类似,只是将in_array()函数换成了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,但这次不借助数字字符数组和in_array()函数来判断是否为数字字符了了,直接使用is_numeric()函数。is_numeric()函数可以检测变量是否为数字或数字字符串。

  • 在循环体中使用is_numeric($str[$i])判断该$str[$i]

    Schauen Sie sich zunächst die erste Methode an:
  • rrreee
Analysieren Sie den obigen Code:

  • Verwenden Sie trim($str), um die Leerzeichen an beiden Enden zu entfernen, und verwenden Sie die if-Anweisung, um sicherzustellen, dass die Zeichenfolge nach dem Entfernen der Leerzeichen keine leere Zeichenfolge ist.

    Erfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen

  • Erstellen Sie ein Zeichenarray mit den Zahlen 0 bis 9.$temp

  • Verwenden Sie eine for-Schleife, um die Zeichenfolge zu durchlaufen $ str, vergleichen Sie jedes Zeichen in $str mit den Elementen im Array $temp und erhalten Sie die numerischen Zeichen. (Verwenden Sie die Funktion in_array, um zu suchen, ob jedes Zeichen in $str im Array $temp vorhanden ist, damit Sie feststellen können, ob es sich bei dem Zeichen um ein numerisches Zeichen handelt.)

  • Verwenden Sie „.=“, um die erhaltenen numerischen Zeichen zusammenzufügen und dann die gespleißte Zeichenfolge auszugeben. 🎜🎜Sehen Sie sich die Ausgabe an: 🎜🎜 Erfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen🎜🎜OK, es ist der digitale Teilstring „01234567890“, der am Anfang des Artikels zurückgegeben werden muss! 🎜🎜Die zweite Methode wird im Folgenden vorgestellt. Sie ähnelt der ersten Methode, außer dass die Funktion in_array() durch die Funktion is_numeric() ersetzt wird. 🎜rrreee🎜Analysieren Sie den obigen Code: 🎜
    • 🎜Verwenden Sie eine for-Schleife, um die Zeichenfolge $str zu durchlaufen, diesmal jedoch ohne Verwenden Sie zur Bestimmung, ob es sich um ein numerisches Zeichen handelt, mithilfe des Arrays numerischer Zeichen und der Funktion in_array() direkt die Funktion is_numeric(). Die Funktion is_numeric() kann erkennen, ob eine Variable eine Zahl oder eine numerische Zeichenfolge ist. 🎜🎜
    • 🎜Verwenden Sie is_numeric($str[$i]) im Schleifenkörper, um zu bestimmen, ob das Zeichen $str[$i] ein numerisches Zeichen ist; Wenn ja, dann nehmen Sie es heraus und verwenden Sie „.=", um es in einen digitalen Teilstring zu verbinden. 🎜🎜🎜🎜Sehen Sie sich die Ausgabeergebnisse an: 🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜 Abschließend empfehle ich die Lektüre eines klassischen Kurses „🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜“, er ist kostenlos~ Kommen Sie und lernen Sie! 🎜

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie andere Zeichen aus PHP-Strings entfernen und nur Zahlen übrig lassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn