OUJOOD.COM
strpos() en PHP
PHP Version: 4+
PHP Évolution: PHP 7.1.0 - Le paramètre start($offset) peut être un nombre négatif
La fonction strpos() en PHP permet de trouver la position de la première occurrence d'une sous-chaîne dans une chaîne. Elle est souvent utilisée pour vérifier si une chaîne contient une sous-chaîne donnée.
Définition et utilisation
La syntaxe de la fonction strpos() est la suivante :
strpos(string $haystack, string $needle, int $offset = 0)
- $haystack est la chaîne dans laquelle la recherche doit être effectuée.
- $needle est la sous-chaîne à rechercher.
- $offset est un paramètre optionnel qui permet de spécifier la position de départ de la recherche. Si $offset est égal à 0, la recherche commence au début de la chaîne $haystack. Si $offset est un nombre positif, la recherche commence à $offset caractères de la gauche de la chaîne $haystack. Si $offset est un nombre négatif, la recherche commence à $offset caractères de la droite de la chaîne $haystack.
Valeurs possibles et paramètres
La fonction strpos() renvoie la position de la première occurrence de la sous-chaîne $needle dans la chaîne $haystack. Si la sous-chaîne $needle n'est pas trouvée, la fonction renvoie false.
Exemples pratiques
Voici quelques exemples pratiques de l'utilisation de la fonction strpos() :
Exemple : 📋 Copier le code
<?php // Vérifier si une chaîne contient une sous-chaîne $haystack = "Ceci est une chaîne."; $needle = "chaîne"; if (strpos($haystack, $needle) !== false) { echo "La chaîne contient la sous-chaîne 'chaîne'."; } else { echo "La chaîne ne contient pas la sous-chaîne 'chaîne'."; } // Obtenir la position de la première occurrence d'une sous-chaîne $haystack = "Ceci est une chaîne avec une sous-chaîne."; $needle = "sous-chaîne"; $position = strpos($haystack, $needle); echo "La sous-chaîne 'sous-chaîne' se trouve à la position $position."; ?>
Syntaxes orientées objet et procédurales
La fonction strpos() est disponible en PHP 5.0 et versions ultérieures. Elle est disponible en syntaxe orientée objet et en syntaxe procédurale.
Syntaxe orientée objet
use \Spl\String; $haystack = "Ceci est une chaîne."; $needle = "chaîne"; $position = (new String($haystack))->strpos($needle); echo "La sous-chaîne 'chaîne' se trouve à la position $position.";
Syntaxe procédurale
$haystack = "Ceci est une chaîne."; $needle = "chaîne"; $position = strpos($haystack, $needle); echo "La sous-chaîne 'chaîne' se trouve à la position $position.";
Astuces et conseils d'utilisation pratique
- La fonction strpos() est sensible à la casse. Pour ignorer la casse, vous pouvez utiliser la fonction stripos().
- La fonction strpos() est une fonction binary-safe. Cela signifie qu'elle peut être utilisée pour rechercher des sous-chaînes binaires.
- La fonction strpos() est rapide et efficace. Elle est donc idéale pour les applications à fort volume de données.
Conclusion
La fonction strpos() est une fonction essentielle en PHP. Elle est utilisée pour vérifier si une chaîne contient une sous-chaîne, et pour obtenir la position de la première occurrence d'une sous-chaîne dans une chaîne.
Fonction precedente: |
Fonction suivante: |