Comment pourrais-je m'emparer des 7 derniers caractères de la chaîne ci-dessous?
Par exemple:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
Ce qui afficherait:
The new string is: 5409els
Utilisez substr()
avec un nombre négatif pour le deuxième argument.
$newstring = substr($dynamicstring, -7);
Depuis le php docs :
string substr ( string $string , int $start [, int $length ] )
Si start est négatif, la chaîne renvoyée commencera au début du dernier caractère à partir de la fin de la chaîne.
euh .. comme ça?
$newstring = substr($dynamicstring, -7);
Des résultats plus sûrs pour l'utilisation de codes de caractères multi-octets, utilisez toujours mb_substr à la place de substr. Exemple pour utf-8:
$str = 'Ne zaman seni düşünsem';
echo substr( $str, -7 ) . ' <strong>is not equal to</strong> ' .
mb_substr( $str, -7, null, 'UTF-8') ;
Il serait préférable d'avoir un contrôle avant d'obtenir la chaîne.
$newstring = substr($dynamicstring, -7);
si les caractères sont supérieurs à 7, les 7 derniers caractères sont renvoyés, sinon la chaîne fournie est renvoyée.
ou le faire si vous devez renvoyer un message ou une erreur si la longueur est inférieure à 7
$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";
Pour plus de simplicité, si vous ne voulez pas envoyer de message, essayez ceci.
$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );
pour les 7 derniers caractères
$newstring = substr($dynamicstring, -7);
$ newstring: 5409els
pour les 7 premiers personnages
$newstring = substr($dynamicstring, 0, 7);
$ newstring: 2490slk