Как я могу получить последние 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 ) );
Ответ 1 Используйте substr() с отрицательным числом для второго аргумента. $newstring = substr($dynamicstring, -7); Из php docs: string substr ( string $string , int $start [, int $length ] ) Если начало отрицательно, возвращаемая строка начинается с символа начала с конца строки.
Ответ 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 ) );