CakeFest 2024: The Official CakePHP Conference

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrposRepère la dernière occurrence d'un caractère dans une chaîne

Description

mb_strrpos(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?string $encoding = null
): int|false

mb_strrpos() effectue une recherche de type strpos(), en tenant compte des caractères multioctets. La position de needle est comptée à partir du début de la chaîne haystack : les positions commencent à 0.

Liste de paramètres

haystack

La chaîne à analyser.

needle

La chaîne à chercher dans la chaîne haystack.

offset
Doit être spécifié pour commencer à recherche un nombre arbitraire de nombre de caractères dans une chaîne. Les valeurs négatives stoppent la recherche à un point arbitraire avant la fin de la chaîne.
encoding

Le paramètre encoding est l'encodage des caractères. S'il est omis ou null, l'encodage de caractères interne sera utilisé.

Valeurs de retour

Retourne la position numérique de la dernière occurrence du caractère needle dans la chaîne haystack. Si needle est introuvable, mb_strrpos() retourne false.

Historique

Version Description
8.0.0 needle accepte désormais une chaîne vide.
8.0.0 Passer encoding comme troisième argument au lieu de offset a été supprimée.
8.0.0 encoding est désormais nullable.

Voir aussi

  • mb_strpos() - Repère la première occurrence d'un caractère dans une chaîne
  • mb_internal_encoding() - Lit/modifie l'encodage interne
  • strrpos() - Cherche la position de la dernière occurrence d'une sous-chaîne dans une chaîne

add a note

User Contributed Notes 2 notes

up
1
Anonymous
18 years ago
mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.

This is something to be wary of if overloading the mb functions.
up
-2
Anonymous
8 years ago
"Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset.
A negative offsets marks the last byte, where a search could start.
<?php
$test
= "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>
To Top