PHP检查升序/降序数字

时间:2011-01-08 12:12:50

标签: php linux string

我正在编写一个PHP脚本。我需要确保字符串的一部分是升序/降序。

示例:

  

$ var =“0212345”;

     

$ var2 =“0254321”;

如何编写if条件以检查最后5位是按升序还是按降序排列?

1 个答案:

答案 0 :(得分:0)

如果您希望5位数字是连续数字(对于已删除答案的评论似乎就是这种情况),那么您可以使用strpos()

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

如果您希望5位数字处于递增/递减顺序(但不一定是连续的),您可以使用regular expression

(?=\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.然后,升序/降序数字序列检查我们匹配的数字是按升序还是降序排列。如果你需要知道它是哪一个,那么将它分成两个单独的正则表达式。