strrpos

(PHP 4, PHP 5, PHP 7)

strrposCherche la position de la dernière occurrence d'une sous-chaîne dans une chaîne

Description

strrpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int

Cherche la position numérique de la dernière occurrence de needle dans la chaîne haystack.

Liste de paramètres

haystack

La chaîne dans laquelle chercher.

needle

Si needle n'est pas une chaîne de charactères, elle est convertie en un entier et appliqué en tant que valeur ordinal d'un charactère. Ce comportement est obsolète à partir de PHP 7.3.0, et ce fier à celui-ci est fortement déconseillée. En fonction du comportement attendu, needle doit être transtyper explicitement en une chaîne de charactère, ou faire un appel explicite à chr() doit être exécuté.

offset

Si spécifié, la recherche commencera à ce nombre de caractères, compté depuis le début de la chaîne. Si la valeur est négative, la recherche commencera depuis ce nombre de caractères, depuis la fin de la chaîne, en cherchant en arrière.

Valeurs de retour

Retourne la position à laquelle l'occurrence a été trouvée relativement au debut de la chaîne haystack (indépendamment de la direction de recherche ou de l'offset).

Retourne FALSE si l'occurrence n'a pas été trouvée.

Avertissement

Cette fonction peut retourner FALSE, mais elle peut aussi retourner une valeur équivalent à FALSE. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Historique

Version Description
5.0.0 Le paramètre needle peut maintenant être une chaîne de caractères composée de plus d'un caractère.

Exemples

Exemple #1 Vérifie si une occurrence est trouvée dans une chaîne

Il est facile de faire une erreur quant à la valeur retournée entre "caractère trouvé à la position 0" et "caractère non trouvé". Voici comme détecter cette différence :

<?php

$pos 
strrpos($mystring"b");
if (
$pos === false) { // note : 3 signes "="
    // non trouvé ...
}

?>

Exemple #2 Recherche avec positions

<?php
$foo 
"0123456789a123456789b123456789c";

var_dump(strrpos($foo'7', -5));  // Commence à cherche en arrière de 5 positions
                                   // depuis la fin. Résultat : int(17)

var_dump(strrpos($foo'7'20));  // Commence à chercher à partir de la 20ème positions
                                   // dansla chaîne. Résultat : int(27)

var_dump(strrpos($foo'7'28));  // Résultat : bool(false)
?>

Voir aussi

  • strpos() - Cherche la position de la première occurrence dans une chaîne
  • stripos() - Recherche la position de la première occurrence dans une chaîne, sans tenir compte de la casse
  • strripos() - Cherche la position de la dernière occurrence d'une chaîne contenue dans une autre, de façon insensible à la casse
  • strrchr() - Trouve la dernière occurrence d'un caractère dans une chaîne
  • substr() - Retourne un segment de chaîne