Heim > php教程 > php手册 > Hauptteil

php实现a到z及其中的”奇怪现象”

WBOY
Freigeben: 2016-05-25 16:45:25
Original
1671 Leute haben es durchsucht

版本一:

for($i=ord(&#39;a&#39;); $i<ord(&#39;z&#39;); $i++) { 
    echo chr($i); 
}
Nach dem Login kopieren

版本二(与第一版类似使用ascii):

for($i=0; $i<26; $i++) { 
    echo chr($i+97); 
}
Nach dem Login kopieren

版本三:echo implode('', range('a', 'z'));

版本四(高智商坑爹版):

for($i=&#39;a&#39;; $i!=&#39;aa&#39;; $i++) { 
    echo $i; 
}
Nach dem Login kopieren

版本五:

for($i=&#39;a&#39;; strlen($i)<2; $i++) { 
    echo $i; 
}
Nach dem Login kopieren

前两个循环很容易理解,a到z每个字母的ascii码值是递增不变的,所以这两个方法就是通过ascii值去做循环计算,用到了php内置的ord()和chr()函数.

第三个方法使用php内置的range()函数生成一个从a到z递增的数组,步长为1,之后用implode函数将数组合并成字符串.

后两个方法就是本篇标题中所要讲的"奇怪现象".

从理论上来讲,咱们用for($i='a'; $i

如果在for循环中每次输出一个换行再观察的话就会发现一个规则,a-z,下一次输出了aa、ab、ac...az,然后是ba、bb、bc...bz....也就是php在给z加一后自动“进位"了,php一个奇特的26进制,当"当前位"的z加1后会向它前面的一位上增加1,然后当前位变为a,'z'++ => 'aa','az'=>'ba','zz'=>'aaa'....

注意的两点:1.这种规律不能用于判断,如'z'


本文地址:

转载随意,但请附上文章地址:-)

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!