Section courante

A propos

Section administrative du site

STRPOS

Position dans la chaine de caractères
PHP 4+

Syntaxe

function strpos($haystack,$needle);
function strpos($haystack,$needle,$offset);

Paramètres

Nom Description
$haystack Ce paramètre permet d'indiquer la chaîne de caractères dans lequel la recherche doit être effectué.
$needle Ce paramètre permet d'indiquer le caractère ou l'entier du code ASCII à rechercher.
$offset Ce paramètre permet d'indiquer la position de début où commence la recherche. Par défaut, ce paramètre vaut 0.

Retour

Valeur Description
FALSE Cette valeur permet d'indiquer que le caractère n'a pas été trouvé dans la chaîne de caractères. Il faut utilisé l'opérateur «===» pour effectuer une comparaison de cette valeur
0 ou supérieur Ces valeurs indique la position du caractère dans la chaîne de caractères.

Description

Cette fonction permet de rechercher la position d'un caractère dans une chaîne de caractères.

Remarque

Bonnes pratiques

L'exemple suivant permet de démontrer que la lettre «a» n'est pas trouvé dans un test avec un opérateur «==» :

  1. <?php
  2. /* Mauvaise pratique */
  3. if(false == strpos('abcdef','a')) {
  4.     echo 'aucun résultat trouvé';
  5. } else {
  6.     echo 'Le "a" trouvé';
  7. }
  8. ?>

on obtiendra le résultat suivant :

aucun résultat trouvé

Par contre, si on utilise l'opérateur «===», il trouvera la lettre «a» et le programme réagira normalement :

  1. <?php
  2. /* Bonne pratique */
  3. if(false === strpos('abcdef','a')) {
  4.     echo 'aucun résultat trouvé';
  5. } else {
  6.     echo 'Le "a" trouvé';
  7. }
  8. ?>

on obtiendra le résultat suivant :

Le "a" trouvé

Exemples

L'exemple permet de vérifier la présence du mot «Merci» ou «Thank» dans la chaîne de caractères «Ceci est un message avec une le mot Merci d'inclus dedans !» :

Essayer maintenant !
  1. <?php
  2. $Response = "Ceci est un message avec une le mot Merci d'inclus dedans !";
  3. if((strpos($Response,'Merci') !== false ) || (strpos($Response,'Thank') !== false )) {
  4.     echo "PRESENT";
  5. } else {
  6.     echo "ECHEC";
  7. }
  8. ?>

on obtiendra le résultat suivant :

PRESENT

Voici un exemple d'une utilisation typique de cette fonction :

Essayer maintenant !
  1. <?php
  2. echo "strpos(\"Sylvain Maltais\",\"Mal\")= " . strpos("Sylvain Maltais","Mal") . "<br />";
  3. echo "strpos(\"Sylvain Maltais\",\"a\") = " . strpos("Sylvain Maltais","a") . "<br />";
  4. echo "strpos(\"Sylvain Maltais\",\"a\",1) = " . strpos("Sylvain Maltais","a",1) . "<br />";
  5. echo "strpos(\"Sylvain Maltais\",\"a\",8) = " . strpos("Sylvain Maltais","a",8) . "<br />";
  6. ?>

on obtiendra le résultat suivant :

strpos("Sylvain Maltais","Mal")= 8
strpos("Sylvain Maltais","a") = 4
strpos("Sylvain Maltais","a",1) = 4
strpos("Sylvain Maltais","a",8) = 9


Dernière mise à jour : Mardi, le 6 août 2019