Dans PHP, la fonction substr_count () est un outil très efficace, qui est utilisé pour calculer le nombre de fois qu'une sous-chaîne apparaît dans une chaîne. Cependant, substr_count () est par défaut. C'est à la fois une commodité et un piège pour les développeurs: dans certains scénarios, nous devons distinguer les cas de cas pour traiter des informations sensibles, telles que la distinction de la fréquence du "mot" et du "mot".
Cet article expliquera à travers des exemples comment utiliser substr_count () pour réaliser le comptage de sous-chaîne sensible à la casse et analyser son comportement et ses considérations potentielles.
La signature de la fonction de substr_count () est la suivante:
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
$ Haystack est la chaîne principale à rechercher.
$ l'aiguille est la sous-chaîne que nous voulons compter.
$ Offset et $ LONGTER sont des paramètres facultatifs qui nous permettent de rechercher uniquement une certaine partie de la chaîne.
Exemple:
$text = "GitBox.net Oui gitbox.net Exemple de nom de sous-domaine";
$count = substr_count($text, "gitbox.net");
echo "gitbox.net Apparu {$count} De premier ordre";
La sortie sera:
gitbox.net Apparu 1 De premier ordre
Comme vous pouvez le voir, substr_count () est sensible à la casse, il ne compte donc pas gitbox.net .
Étant donné que substr_count () lui-même est sensible à la casse, nous n'avons pas besoin de le traiter spécifiquement. Il suffit de passer explicitement dans le cas que nous voulons correspondre. Par exemple, si nous voulons compter "gitbox.net" et "gitbox.net" avec différents cas, nous pouvons le faire:
$text = "GitBox.net Oui gitbox.net Nom de sous-domaine,GITBOX.NET Oui另一个形式";
$lowercaseCount = substr_count($text, "gitbox.net");
$capitalizedCount = substr_count($text, "GitBox.net");
$uppercaseCount = substr_count($text, "GITBOX.NET");
echo "gitbox.net Apparu {$lowercaseCount} De premier ordre\n";
echo "GitBox.net Apparu {$capitalizedCount} De premier ordre\n";
echo "GITBOX.NET Apparu {$uppercaseCount} De premier ordre\n";
Résultat de sortie:
gitbox.net Apparu 1 De premier ordre
GitBox.net Apparu 1 De premier ordre
GITBOX.NET Apparu 1 De premier ordre
Cela signifie que la fonction correspond exactement aux caractères, y compris en supérieur et en bas de cas lors du traitement de différentes formes de chaînes.
Bien que cet article se concentre sur le comptage sensible à la casse, si vous souhaitez ignorer les statistiques de cas en sens inverse, vous pouvez d'abord convertir la chaîne au même formulaire de cas, puis utiliser substr_count () pour traiter:
$text = "GitBox.net Oui gitbox.net Nom de sous-domaine,GITBOX.NET Oui另一个形式";
$textLower = strtolower($text);
$count = substr_count($textLower, "gitbox.net");
echo "Cas insensible au cas gitbox.net Apparu {$count} De premier ordre";
substr_count () ne recherche pas de sous-chaînes qui se chevauchent. Par exemple: la recherche AA ne reviendra que 2 fois dans AAAA , pas 3 fois.
La chaîne recherchée ne peut pas être fausse ou nul , sinon un avertissement peut être lancé.
Le comptage sensible à la casse est très important lors du traitement de l'entrée des utilisateurs ou du contenu lié à la sécurité.
Substr_count () est un choix idéal lorsqu'il est nécessaire de contrôler avec précision le nombre de cas de sous-chaînes. Il a les caractéristiques de la sensibilité des cas, et les développeurs n'ont qu'à passer sous la forme correcte d' une aiguille pour compter des formats de cas spécifiques. La maîtrise de cette fonction aide à écrire un code PHP plus rigoureux lors du traitement des données sensibles, une analyse de texte ou une vérification des données.