search
HomeBackend DevelopmentPHP TutorialPHP string learning counts the number of occurrences of characters

In the previous article, we introduced a case-insensitive method of replacing a given substring with other values. If you are interested, you can click on the link to check → "PHP cleverly uses functions to replace a given substring with * Number (case insensitive) 》. This time we will introduce how to use PHP to count the number of occurrences of characters in a string. You can refer to it if necessary.

I believe that given a string "aaabbccqqwweeab", how to count the number of occurrences of each character? You can use the loop

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
//统计字符串中出现的字符,出现次数
$str = &#39;aaabbccqqwweeab&#39;;//字符串示例
echo "字符串为:".$str.&#39;<br/>&#39;;
$strRecord=array();//把出现过的字符记录在此数组中,如果记录有,则不记录,
for($i=0;$i<strlen($str);$i++){
 $found = 0;//默认设置为没有遇到过
 foreach((array)$strRecord as $k=>$v){
  if($str[$i] == $v[&#39;key&#39;]){
   $strRecord[$k][&#39;count&#39;] += 1;//已经遇到,count + 1;
   $found = 1;//设置已经遇到过的,标记
   continue;//如果已经遇到,不用再循环记录数组了,继续下一个字符串比较
  }
 }
 if(!$found){
  $strRecord[] = array(&#39;key&#39;=>$str[$i],&#39;count&#39;=>1);//记录没有遇到过的字符串
 }
}
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($strRecord);
?>

to analyze:

  • Loop the $str string once and record the characters that have appeared in the $strRecord array (only record once, if repeated, Just ignore it).

  • Traverse the $strRecord array and compare each character in the string ($str[$i]) with the value of the array ($strRecord[ ]['key']) for comparison; if a value in the record is the same as this character, record the number of times ($strRecord[]['count']) 1.

Let’s take a look at the output:

PHP string learning counts the number of occurrences of characters

OK, the statistics are out!

But sometimes we don’t need to count all characters, we only need to count the number of occurrences of a specified character/substring. How to do this?

This is also simple, PHP provides a built-in function to solve this problem. Let's take a look at the following example:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;aaabbccqqwweeab&#39;;
echo "字符串为:".$str.&#39;<br/><br/>&#39;;

echo "字符串中出现了 ".substr_count($str,&#39;a&#39;)." 次 a字符!";

echo "<br/><br/>字符串中出现了 ".substr_count($str,&#39;ab&#39;)." 次 ab子串!";
?>

Analysis: We use "substr_count($str,'a')" and "substr_count($str,'ab') " statement to count the number of occurrences of the "a" character and the "ab" character in the string $str. What do you think this will output? Should "4" and "2" be output? So right? Let's take a look at the output:

PHP string learning counts the number of occurrences of characters

Correct! The number of occurrences of the "a" character and the "ab" character is "4" and "2".

Let’s take a look at the key function substr_count().

The substr_count() function can count the number of times a substring (consisting of one or more characters) appears in a string (case-sensitive).

substr_count($string,$substring,$start,$length)The function accepts 2 required parameters $string and $substring, and 2 omitted parameters $start and $length.

We already know the first two required parameters through the above code example. Let's take a look at the two omitted parameters $start and $length.

  • $start: used to specify where to start searching for substrings in the string

  • $length: used to specify the length of the search

The value returned by the substr_count() function is also different depending on the values ​​set by the parameters $start and $length.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;aaabbccqqwweeab&#39;;
echo "字符串为:".$str.&#39;<br/><br/>&#39;;

echo "字符串中出现了 ".substr_count($str,&#39;a&#39;,0,5)." 次 a字符!";
echo "<br/>字符串中出现了 ".substr_count($str,&#39;a&#39;,2,5)." 次 a字符!";
echo "<br/><br/>字符串中出现了 ".substr_count($str,&#39;ab&#39;,0,10)." 次 ab子串!";
echo "<br/>字符串中出现了 ".substr_count($str,&#39;ab&#39;,3)." 次 ab子串!";
?>

Output result:

PHP string learning counts the number of occurrences of characters

Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial

Finally, I recommend reading a classic course "PHP String Processing (Jade Girl Heart Sutra Edition)", it's free~ come and learn !

The above is the detailed content of PHP string learning counts the number of occurrences of characters. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools