Maison > Article > développement back-end > Comment compter le nombre d'occurrences de chaque caractère dans une chaîne
Comment compter le nombre d'occurrences de chaque caractère dans une chaîne : créez d'abord un exemple de fichier PHP ; puis enregistrez les caractères qui sont apparus dans le tableau et enfin, utilisez une boucle foreach pour parcourir les statistiques de ; les caractères qui apparaissent dans la chaîne Juste le nombre de fois.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
L'exemple de cet article raconte le PHP implémentation du comptage de tous les caractères dans les caractères Comment compter le nombre d'occurrences dans une chaîne. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Jetons d'abord un coup d'œil à l'effet :
Algorithme :
Bouclez la chaîne une fois ( $str dans cet exemple), enregistrez la chaîne qui est apparue dans un tableau (comme $strRecord dans cet exemple). Si cette fonction d'enregistrement existe déjà, elle ne sera pas enregistrée
dans chaque chaîne When, elle est comparée à la valeur du tableau d'enregistrement ($strRecord[]['key'] dans cet exemple). Si une valeur dans l'enregistrement est la même que cette chaîne, le nombre d'enregistrements +. 1 ($strRecord dans cet exemple) []['count']);
Bien sûr, définissez une variable, la valeur par défaut est false (comme $found dans cet exemple), enregistrez chaque comparaison, si le record array a déjà cette valeur, définissez-la sur true, via cette balise, enregistrez le tableau qui n'a pas été rencontré auparavant dans le tableau
Code d'implémentation :
<?php //统计字符串中出现的字符,出现次数 echo '<pre class="brush:php;toolbar:false">'; $str = 'aaabbccqqwweedfghhjffffffffggggggggg';//字符串示例 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);//记录没有遇到过的字符串 } } print_r($strRecord); ?>
[Recommandé : Tutoriel vidéo PHP]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!