Intereting Posts
PHP: как проверить, был ли пользователь уже зарегистрирован и иным образом перенаправлен на страницу входа в систему Обработка GET с помощью htaccess PHP: отображение страницы загрузки при выполнении скрипта php вложенное require_once с абсолютным путём не работает Сброс пароля Backend Функциональность Как подсчитать СЕССИИ, чтобы отобразить общее количество зарегистрированных пользователей на сайте Получить все маршруты, Laravel 4 динамическое обновление полей выбора с помощью php mysql jquery ajax Когда нужно закрыть соединение с базой данных в PHP? Код для загрузки видео с Android на PHP Создание PHP-интерфейсов Статические методы: они все еще плохо относятся к PHP 5.3 поздней статической привязке? Чтение таблицы документов Google Artisan служит для отправки активов с включенными заголовками ответов Ошибка сертификата SSL не может получить сертификат локального эмитента

Проверьте, заканчивается ли строка с номером в PHP

Я пытаюсь реализовать эту функцию ниже. Было бы лучше использовать какой-то тип регулярных выражений здесь? Мне тоже нужно записать номер.

function endsWithNumber($string) { $endsWithNumber = false; // Logic return $endsWithNumber; } 

 $test="abc123"; //$test="abc123n"; $r = preg_match_all("/.*?(\d+)$/", $test, $matches); //echo $r; //print_r($matches); if($r>0) { echo $matches[count($matches)-1][0]; } 

регулярное выражение объясняется следующим образом:

. *? – это займет все символы в строке от начала до тех пор, пока не будет найдено совпадение для последующей части.

(\ d +) $ – это одна или несколько цифр до конца строки, сгруппированные.

без ? в первой части только вторая цифра будет соответствовать во второй части, потому что все цифры перед ней будут заняты. *

return is_numeric(substr($string, -1, 1));

Это только проверяет, является ли последний символ в строке числовым, если вы хотите поймать и вернуть многозначные числа, вам, возможно, придется использовать регулярное выражение.

Соответствующим регулярным выражением будет /[0-9]+$/ который будет захватывать числовую строку, если она находится в конце строки.

на мой взгляд. Простой способ найти строку заканчивается номером

 $length=strlen("string1")-1; if(is_numeric($string[$length])) { echo "String Ends with Number"; }