359 votes

Comment obtenir les 7 derniers caractères d'une chaîne PHP ?

Comment faire pour récupérer les 7 derniers caractères de la chaîne ci-dessous ?

Par exemple :

$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;

Qui afficherait :

The new string is: 5409els

743voto

Asaph Points 56989

Utilisez substr() avec un nombre négatif pour le 2ème argument.

$newstring = substr($dynamicstring, -7);

De la documentation php :

string substr ( string $string , int $start [, int $length ] )

Si start est négatif, la chaîne retournée commencera au ème caractère de début de chaîne.

83voto

Vitaly Muminov Points 843

Umh comme ça ?

$newstring = substr($dynamicstring, -7);

22voto

MERT DOĞAN Points 201

Résultats plus sûrs pour travailler avec des codes de caractères multi-octets, utilisez toujours mb_substr au lieu de substr. Exemple pour utf-8 :

$str = 'Ne zaman seni düsünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
  mb_substr( $str, -7, null, 'UTF-8') ;

20voto

Abdul Manan Points 1110

Il serait préférable d'effectuer un contrôle avant d'obtenir la chaîne.

$newstring = substr($dynamicstring, -7);

si les caractères sont supérieurs à 7, retourner les 7 derniers caractères sinon retourner la chaîne fournie.

ou faites ceci si vous avez besoin de retourner un message ou une erreur si la longueur est inférieure à 7

$newstring = (strlen($dynamicstring)>=7)?substr($dynamicstring, -7):"message";

documentation sur les substrats

5voto

mariovials Points 544

Pour simplifier, si vous ne voulez pas envoyer de message, essayez ceci

$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X