PHP проверяет восходящие / нисходящие цифры - PullRequest
1 голос
/ 08 января 2011

Я пишу скрипт PHP. Мне нужно убедиться, что часть строки является восходящей / нисходящей.

Пример:

$ var = "0212345";

$ var2 = "0254321";

Как мне написать условие if, чтобы проверить, находятся ли последние 5 цифр в порядке возрастания или убывания?

1 Ответ

0 голосов
/ 08 января 2011

Если вы хотите, чтобы 5 цифр были последовательными числами (что, по-видимому, относится к комментарию к удаленному ответу), вы можете использовать strpos():

$ascending  = strpos("0123456789", str_split($var, -5)) !== false;
$descending = strpos("9876543210", str_split($var, -5)) !== false;

Если вы хотите, чтобы 5 цифр находились в порядке увеличения / уменьшения (но не обязательно подряд), вы можете использовать регулярное выражение :

(?=\d{5})(0*1*2*3*4*5*6*7*8*9*|9*8*7*6*5*4*3*2*1*0*)$

?=\d{5} - положительноес нетерпением и убедитесь, что мы сопоставляем 5 цифр.В сочетании с $ в конце это соответствует last 5. Затем последовательность возрастающих / убывающих цифр проверяет, что совпадающие цифры находятся в порядке возрастания или убывания.Если вам нужно узнать, что из двух это, то разбейте его на два отдельных регулярных выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...