【发布时间】:2014-11-18 20:09:36
【问题描述】:
我正在尝试获取一个函数,以在 PHP 中从 A->ZZ 或 AAA -> ZZZ 向上递增 alpha,其中包含所有变化,即。 A、B、C...AA、AB、AC..ZX、ZY、ZZ 等。
以下代码有时有效,但在某些情况下会中断,此示例完美运行。
$from = "A";
$to = "ZZ";
while(strnatcmp($from, $to) <= 0) {
echo $from++;
}
虽然这没有按预期工作。
$from = "A";
$to = "BB";
while(strnatcmp($from, $to) <= 0) {
echo $from++;
}
输出是:
First: A B C D .. AA AB AC .. ZX ZY ZZ
Second: A B
有人知道这里发生了什么吗?或者可能是解决我的问题的不同方法。 谢谢
【问题讨论】:
-
你期望什么输出?
-
和第一个例子一样,中间的所有变化。 A、B、C...AA、AB、AC...BA、BB
-
我猜它是在说 B == BB 但这没有意义吧?
-
很好的例子。我刚刚用标准的
while ($from !== $to) echo $from++;尝试了同样的事情并看到了同样的结果。 注意: 严格比较在这里没有区别。 -
@NexxTea 它停在
C...strnatcmp('C', 'BB') = 1因为C大于BB。
标签: php auto-increment behavior