首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -错误的Alphabet循环

PHP -错误的Alphabet循环
EN

Stack Overflow用户
提问于 2011-12-02 18:14:51
回答 2查看 796关注 0票数 2

有人能解释一下为什么:

代码语言:javascript
复制
    <?php
    for ($i = 'a'; $i <= 'z'; $i++){
    echo "$i ";
    }
    ?>

其产出的原因是:

A b,c,d,f,h,i,j,l,m,m,o,p,q,r,t,u,x,a,c,a,c,d,a,d,d,a,d,d,f,a,d,d,f,a,d,f,a,f,d,a,f,d,f,a,a,h,i,g,i,i,m,p,p,q,r,t,v,v,y,y,a,a糖尿病肾病dp dq dv dw dx dz电子束,电子束,电子束。转到yz

但它的效果很好

代码语言:javascript
复制
    <?php
    for ($i = 'a'; $i != 'aa'; $i++){
    echo "$i ";
    }
    ?>

循环似乎一遍又一遍地运行,直到到达"zz“为止。

如果我给了$i<"aa",它应该工作得很好,但是它只输出"a“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-02 18:17:07

请参阅增量算子手册

在处理字符变量的算术运算时,PHP遵循Perl的惯例,而不是C的。例如,在PHP和Perl $a = 'Z';$a++;在C_a= 'Z‘中,$a变成'AA’;a++;将a变成'[‘’(‘Z’的ASCII值为90,ASCII的值为‘为91)。注意,字符变量可以递增,但不能减少,即使这样,也只支持普通的ASCII字符( are和are)。递增/递减其他字符变量没有影响,原始字符串不变。

票数 5
EN

Stack Overflow用户

发布于 2011-12-02 18:21:22

不能对字符串执行小于($i < "aa")运算符。

它将被转换成一个数值类型,其结果通常是不可预测的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8360736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档