PHP字符串增加运算分析

一个学生问了一个问题。
复制代码代码如下所示:
< PHP
为($我= a;$i < Z;我+ +){
回声$ i;
}

输出是什么

输出是:

abcdefghijklmnopqrstuvwxyzaaabacadaeafagahaiajakalamanaoapaqaras的…

什么原因

事实上,这很简单,PHP的手册也解释过,但恐怕很多人不仔细阅读手册在一章和一节。

PHP是Perl的公约时处理的字符变量而不是C。例如Perl中的Z + 1圈为AA的算术运算,而Z+1变成C({ ORD(Z)= 90,曼特尔({)= = 91)。注意,字符变量可以递增而不是递减甚至只有普通的ASCII字符(A-Z和a-z)的支持。

当处理字符变量的算术运算,PHP是Perl的习惯而不是C,例如,Perl中的Z+ 1AA,将在C,Z + 1将{(ORD(Z)= 90,曼特尔({)= = 91)。注意,字符变量只能增加,不能减少,只支持纯字母(a-z、A-Z)。

也就是说,如果:
复制代码代码如下所示:
$name =laruence ;
+ + $名称; / /将laruencf

而:
复制代码代码如下所示:
$name =laruence ;
美元的名字; / /没有效果,或laruence

所以,这个原因是,当$ i = z,++ i是AA,字符串比较。
AA、BB、XX路YZ小于等于Z.So。