Maison > Article > développement back-end > Nouvelles fonctions en PHP8 : nouvelles astuces pour str_starts_with()
Dans PHP 8, un nouvel ensemble de fonctions de chaîne a été ajouté, y compris la fonction str_starts_with(). Cette fonction peut être utilisée pour déterminer si une chaîne commence par une autre chaîne. Ensuite, nous explorerons de nouvelles techniques sur la façon d'utiliser cette nouvelle fonction pour rendre notre travail de développement plus efficace et plus pratique.
Tout d'abord, comprenons l'utilisation de base de la fonction str_starts_with(). Cette fonction accepte deux paramètres, le premier est la chaîne à juger et le second est la chaîne comme partie de départ. Renvoie vrai si la première chaîne commence par la deuxième chaîne, faux sinon. Par exemple :
$string = "hello world"; $startsWithHello = str_starts_with($string, "hello"); $startsWithBye = str_starts_with($string, "bye"); var_dump($startsWithHello); // true var_dump($startsWithBye); // false
Commençons maintenant à explorer de nouvelles astuces avec la fonction str_starts_with().
En termes de tri naturel, nous devons généralement utiliser le code suivant :
function naturalSort($a, $b) { return strnatcmp($a, $b); } usort($array, 'naturalSort');
Cependant, si certains éléments du tableau que nous souhaitons trier naturellement commencent par un chaîne (Par exemple, "~"), nous devrons peut-être effectuer un traitement spécial. À l'heure actuelle, nous pouvons utiliser la fonction str_starts_with() pour optimiser, comme ceci :
function naturalSort($a, $b) { if (str_starts_with($a, '~') && !str_starts_with($b, '~')) { return 1; } elseif (!str_starts_with($a, '~') && str_starts_with($b, '~')) { return -1; } else { return strnatcmp($a, $b); } } usort($array, 'naturalSort');
Cela peut réduire le nombre d'appels à la fonction strnatcmp() pendant le tri, améliorant ainsi l'efficacité.
Dans certains cas, nous devons filtrer les chaînes commençant par des caractères spécifiques à partir d'un tableau de chaînes afin d'effectuer un traitement ultérieur sur ces chaînes. Cette fonction peut être facilement réalisée en utilisant la fonction str_starts_with(). Par exemple :
$array = ["apple", "banana", "orange", "pear"]; $filteredArray = array_filter($array, function($item) { return str_starts_with($item, "a"); }); var_dump($filteredArray); // ["apple"]
Dans le code ci-dessus, nous utilisons la fonction array_filter() et une fonction anonyme pour filtrer le tableau, et utilisons la fonction str_starts_with() pour déterminer si chaque élément commence par le caractère "a". Le résultat final est un nouveau tableau contenant uniquement des chaînes commençant par le caractère « a ».
Dans certains scénarios de remplacement de chaîne, nous devons uniquement remplacer les parties qui commencent par un certain caractère ou une certaine chaîne. L'utilisation de la fonction str_starts_with() peut nous aider à réaliser cette fonction et à rendre l'opération de remplacement plus concise et efficace. Par exemple :
$string = "hello world"; $newString = str_starts_with($string, "hello") ? "goodbye" . substr($string, 5) : $string; echo $newString; // "goodbye world"
Dans le code ci-dessus, nous utilisons la fonction str_starts_with() pour vérifier si la chaîne commence par "bonjour", si c'est le cas, utilisez la fonction substr() pour obtenir la partie après avoir supprimé le premier caractère et remplacer "au revoir" "Ajoutez au début. Sinon, la chaîne d'origine est utilisée directement. La fonction
Résumé
str_starts_with() est une nouvelle fonction de PHP 8, qui peut nous aider à traiter le début d'une chaîne de manière plus pratique et plus efficace. Dans cet article, nous montrons quelques nouvelles astuces pour la fonction str_starts_with(), notamment l'optimisation de l'ordre naturel, le filtrage des tableaux de chaînes en fonction des caractères de début et leur utilisation dans le remplacement de chaînes. Ces techniques peuvent nous aider à mieux faire face aux besoins de traitement des chaînes dans le développement quotidien et à améliorer notre efficacité au travail.
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!