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