Как я могу получить последние 7 символов строки PHP?
Как я мог бы захватить последние 7 символов строки ниже?
Например:
$dynamicstring = "2490slkj409slk5409els";
$newstring = some_function($dynamicstring);
echo "The new string is: " . $newstring;
Что будет отображаться:
The new string is: 5409els
Ответы
Ответ 1
Используйте substr()
с отрицательным числом для второго аргумента.
$newstring = substr($dynamicstring, -7);
Из php docs:
string substr ( string $string , int $start [, int $length ] )
Если начало отрицательно, возвращаемая строка начинается с символа начала с конца строки.
Ответ 2
umh.. как это?
$newstring = substr($dynamicstring, -7);
Ответ 3
Более безопасные результаты для работы с многобайтовыми символами, всегда используйте mb_substr вместо substr. Пример для 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') ;
Ответ 4
Было бы лучше проверить перед получением строки.
$newstring = substr($dynamicstring, -7);
если символы больше, чем 7 возвращают последние 7 символов, в противном случае возвращает предоставленную строку.
или сделайте это, если вам нужно вернуть сообщение или ошибку, если длина меньше 7
$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):"message";
вспомогательная документация
Ответ 5
Для простоты, если вы не хотите отправлять сообщение, попробуйте это
$new_string = substr( $dynamicstring, -min( strlen( $dynamicstring ), 7 ) );