Heim > Artikel > Backend-Entwicklung > PHP-String-Learning zählt die Anzahl der Vorkommen von Zeichen
Im vorherigen Artikel haben wir eine Methode zum Ersetzen einer bestimmten Teilzeichenfolge durch andere Werte vorgestellt, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird. Wenn Sie interessiert sind, können Sie auf den Link klicken, um zu lesen → „PHP verwendet geschickt Funktionen, um eine bestimmte Teilzeichenfolge durch einen * zu ersetzen. (Groß- und Kleinschreibung) Unempfindlich)》. Dieses Mal stellen wir die Methode vor, mit PHP die Anzahl der Zeichen in einer Zeichenfolge zu zählen. Sie können bei Bedarf darauf zurückgreifen.
Ich glaube, wie kann man bei einer gegebenen Zeichenfolge „aaabbccqqwweeab“ die Häufigkeit des Vorkommens jedes Zeichens zählen? Sie können die Schleife
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 //统计字符串中出现的字符,出现次数 $str = 'aaabbccqqwweeab';//字符串示例 echo "字符串为:".$str.'<br/>'; $strRecord=array();//把出现过的字符记录在此数组中,如果记录有,则不记录, for($i=0;$i<strlen($str);$i++){ $found = 0;//默认设置为没有遇到过 foreach((array)$strRecord as $k=>$v){ if($str[$i] == $v['key']){ $strRecord[$k]['count'] += 1;//已经遇到,count + 1; $found = 1;//设置已经遇到过的,标记 continue;//如果已经遇到,不用再循环记录数组了,继续下一个字符串比较 } } if(!$found){ $strRecord[] = array('key'=>$str[$i],'count'=>1);//记录没有遇到过的字符串 } } echo '<pre class="brush:php;toolbar:false">'; print_r($strRecord); ?>
verwenden, um Folgendes zu analysieren:
Schleifen Sie den $str-String einmal und zeichnen Sie die Zeichen auf, die im $strRecord-Array erschienen sind (nur einmal aufzeichnen, bei Wiederholung ignorieren).
Durchlaufen Sie das $strRecord-Array und vergleichen Sie jedes Zeichen in der Zeichenfolge ($str[$i]
) und den Wert des Arrays ($strRecord[]['key']
) zum Vergleich; wenn ein Wert im Datensatz mit diesem Zeichen übereinstimmt, notieren Sie die Häufigkeit ($strRecord[]['count']
) + 1. $str[$i]
)和数组的值($strRecord[]['key']
)进行比较;如果记录里的某个值和这个字符一样,就记录次数($strRecord[]['count']
)+1。
我们来看看输出结果:
OK,统计出来了!
但有时我们不需要统计全部字符,只需要计算指定的一个字符/子串的出现次数,这样怎么操作?
这也简单,PHP提供了一个内置函数可以解决这个问题。我们来看看下面一个例子:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = 'aaabbccqqwweeab'; echo "字符串为:".$str.'<br/><br/>'; echo "字符串中出现了 ".substr_count($str,'a')." 次 a字符!"; echo "<br/><br/>字符串中出现了 ".substr_count($str,'ab')." 次 ab子串!"; ?>
分析:我们使用“substr_count($str,'a')
”和“substr_count($str,'ab')
”语句来统计字符串$str中“a”字符和“ab”字符的出现次数。大家觉得这个会输出什么?是不是应该输出“4”和“2”呀。那么对不对?我们来看一下输出结果:
正确!“a”字符和“ab”字符的出现次数就是“4”和“2”。
下面我们来了解一下这其中的关键函数substr_count()。
substr_count()函数可以计算子串(由一个或多个字符组成)在字符串中出现的次数(区分大小写)。
substr_count($string,$substring,$start,$length)
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = 'aaabbccqqwweeab'; echo "字符串为:".$str.'<br/><br/>'; echo "字符串中出现了 ".substr_count($str,'a',0,5)." 次 a字符!"; echo "<br/>字符串中出现了 ".substr_count($str,'a',2,5)." 次 a字符!"; echo "<br/><br/>字符串中出现了 ".substr_count($str,'ab',0,10)." 次 ab子串!"; echo "<br/>字符串中出现了 ".substr_count($str,'ab',3)." 次 ab子串!"; ?>Analyse: Wir verwenden „
substr_count($str,'a')
“ und „substr_count($str,'ab') code >“-Anweisung, um die Anzahl der Vorkommen der Zeichen „a“ und „ab“ in der Zeichenfolge $str zu zählen. Was wird Ihrer Meinung nach dabei herauskommen? Sollen „4“ und „2“ ausgegeben werden? Also richtig? Werfen wir einen Blick auf die Ausgabe: <p></p>
<img src="https://img.php.cn/upload/image/772/873/472/1628582516539367.png" title="1628582516539367.png" alt="2 .png"><p></p>Richtig! Die Anzahl der Vorkommen des Zeichens „a“ und des Zeichens „ab“ beträgt „4“ und „2“. <p><img src="https://img.php.cn/upload/image/917/253/460/162858295983491PHP-String-Learning%20z%C3%A4hlt%20die%20Anzahl%20der%20Vorkommen%20von%20Zeichen" title="162858295983491PHP-String-Learning zählt die Anzahl der Vorkommen von Zeichen" alt="PHP-String-Learning zählt die Anzahl der Vorkommen von Zeichen">Werfen wir einen Blick auf die Schlüsselfunktion substr_count(). </p>
<p>Die Funktion substr_count() kann zählen, wie oft ein Teilstring (bestehend aus einem oder mehreren Zeichen) in einem String vorkommt (Groß-/Kleinschreibung beachten). <a href="https://www.php.cn/course/list/29.html" target="_blank"></a><code>substr_count($string,$substring,$start,$length)
Die Funktion akzeptiert 2 erforderliche Parameter $string und $substring sowie 2 ausgelassene Parameter $start und $length.
Die ersten beiden erforderlichen Parameter kennen wir bereits aus dem obigen Codebeispiel. Schauen wir uns die beiden weggelassenen Parameter $start und $length an.
🎜$start: Wird verwendet, um anzugeben, wo mit der Suche nach Teilzeichenfolgen in der Zeichenfolge begonnen werden soll. 🎜🎜🎜🎜$length: Wird verwendet, um die Länge der Suche anzugeben. 🎜🎜🎜🎜 Abhängig von den durch die Parameter $start festgelegten Werten und $length, substr_count Der von der Funktion () zurückgegebene Wert ist ebenfalls unterschiedlich. 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜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 vonPHP-String-Learning zählt die Anzahl der Vorkommen von Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!