PHP 检查升序/降序数字

标签 php linux string

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

例子:

$var = "0212345";

$var2 = "0254321";

如何写if条件判断最后5位是升序还是降序?

最佳答案

如果您希望 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。然后升序/降序数字序列检查我们匹配的数字是升序还是降序命令。如果您需要知道它是两者中的哪一个,则将其拆分为两个单独的正则表达式。

关于PHP 检查升序/降序数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4633784/

相关文章:

linux - 为以用户身份运行的守护进程存储 pid 文件

php - 获取 Facebook 好友列表,同时排除一些好友

php - 循环计数器无法正确递增

linux - 这个 linux 命令有什么作用?

Linux命令发送HTTP API

c++ - C++从文件中读取字符串

C#:属性与常量的不同字符串编码

c - 错误: assigning to 'int' from incompatible type 'void'

php - 用符号替换数据库查询中的冗余日期(MySQL/PHP)

php - 获取带有点赞和评论的帖子 - 一个查询?