我们在使用php语言时,经常会遇到循环输出,例如for、while等等,而这里一般是用做数字循环,例如1-10等。但有时我们也会用到字母的输出,例如从a-z的输出,用于行业站排序城市名字等。这个应该怎么做呢,下面听cms大学小编细细讲来。
首先按照我们对php的理解,循环语句应该这样写。
输出的结果是这样的:
而我们想要的其实是这样的:
这有点无语了,其实解决起来也很简单,这里涉及到一个php的特性。
请看php官方链接:http://php.net/manual/en/language.operators.increment.php
其中注意一下这句:
PHP follows Perl's convention when dealing with arithmetic operations on character variables and not C's. For example, in PHP and Perl $a = 'Z'; $a++; turns $a into 'AA', while in C a = 'Z'; a++; turns a into '[' (ASCII value of 'Z' is 90, ASCII value of '[' is 91). Note that character variables can be incremented but not decremented and even so only plain ASCII alphabets and digits (a-z, A-Z and 0-9) are supported. Incrementing/decrementing other character variables has no effect, the original string is unchanged.
翻译过来是这个样子:
所以, 这个问题的原因在于,就是我们的循环停止条件当$i = Z的时候, ++$i成了AA, 而字符串比较时,AA,BB,XX一直到YZ都是小于等于Z的,所以我们的循环从头到尾一直运行到结束。
第一种:
第二种:
第三种:
第四种:
通过以上的方法我们就可以开心的输出a-z的字母了,至于有何作用,大家自己开发咯!!!
为帝国CMS用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.