439 Stimmen

Warum druckt dieser Code nicht einfach die Buchstaben A bis Z?

<?php
for ($i = 'a'; $i <= 'z'; $i++)
    echo "$i\n";

Dieses Snippet ergibt die folgende Ausgabe (Zeilenumbrüche werden durch Leerzeichen ersetzt):

a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex. .. on to yz

4voto

Chinmay235 Punkte 3534

Versuchen Sie diesen Code. Ich denke, dass dieser Code hilfreich für Sie sein wird.

$alphas = range('A', 'Z');
foreach($alphas as $value){
    echo $value."<br>";
}

26 Buchstaben nacheinander anzeigen.

3voto

James Dantes Punkte 21

PHP hat die Funktion, Buchstaben in einer Schleife zu verarbeiten und kann über einzelne Zeichen hinausgehen; der Rest wird auf diese Weise gemacht: aa ab ac... zz, und so weiter.

Versuchen Sie dies:

<?php
for ($i = 'a'; $i !== 'aa'; $i++)
    echo "$i\n";
?>

2voto

Mr Griever Punkte 3974
<?php

$i = 'a';
do {
echo ($j=$i++),"\r\n";
} while (ord($j) < ord($i));

?>

2voto

LRA Punkte 1029

Auch dies kann verwendet werden:

for ($i = 'a'; $i <= 'z'; $i=chr(ord($i)+1))
    echo "$i\n";

0voto

jon_darkstar Punkte 15748

Die obigen Antworten sind zwar aufschlussreich und ziemlich interessant (ich wusste nicht, dass es sich so verhält, und es ist gut zu sehen, warum.

Die einfachste Lösung (wenn auch vielleicht nicht die sinnvollste) wäre, die Bedingung einfach in $i != 'z' zu ändern

<?php
for ($i = 'a'; $i != 'z'; $i++)  
    echo "$i\n";
?>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X