Como eu pegaria os últimos 7 caracteres da string abaixo?
Por exemplo:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
Qual seria exibido:
The new string is: 5409els
Como eu pegaria os últimos 7 caracteres da string abaixo?
Por exemplo:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
Qual seria exibido:
The new string is: 5409els
Respostas:
Use substr()com um número negativo para o segundo argumento.
$newstring = substr($dynamicstring, -7);
Nos documentos php :
string substr ( string $string , int $start [, int $length ] )Se start for negativo, a string retornada começará no caractere start'th do final da string.
Resultados mais seguros para trabalhar com códigos de caracteres multibyte, sempre use mb_substr em vez de substr. Exemplo para 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') ;
Seria melhor fazer uma verificação antes de obter a string.
$newstring = substr($dynamicstring, -7);
se os caracteres forem maiores, 7 retornam os últimos 7 caracteres e retornam a string fornecida.
ou faça isso se precisar retornar mensagem ou erro se o comprimento for menor que 7
$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";
Para simplificar, se você não deseja enviar uma mensagem, tente este
$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );