Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Inkrementierungsoperationsanalyse von PHP für Zeichenfolgen

Detaillierte Erläuterung der Inkrementierungsoperationsanalyse von PHP für Zeichenfolgen

怪我咯
怪我咯Original
2017-07-04 15:01:381407Durchsuche

Beim Umgang mit arithmetischen Operationen an Zeichen--Variablen folgt PHP den Gewohnheiten von Perl anstelle von C.

Ein Schüler hat eine Frage gestellt:

Kopieren Sie den Code Der Code lautet wie folgt:

<?php 
for($i = &#39;A&#39;; $i <= &#39;Z&#39;; $i++) { 
echo $i; 
}

Was ist die Ausgabe?

Die Ausgabe lautet:

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS…….

Es ist eigentlich sehr einfach und es gibt Anweisungen im PHP-Handbuch, aber ich Ich fürchte, viele Leute kennen ein Kapitel nicht. Lesen Sie das Handbuch Abschnitt für Abschnitt sorgfältig durch:

PHP folgt der Perl-Konvention, wenn es um arithmetische Operationen an Zeichenvariablen und nicht um Cs geht. Zum Beispiel in Perl „Z“. +1 wird zu 'AA',
während
in C 'Z'+1 zu '[' wird ( ord('Z') == 90, ord('[') == 91 ). dass Zeichenvariablen inkrementiert, aber nicht dekrementiert werden können und dennoch nur einfache ASCII-Zeichen (a-z und A-Z) unterstützt werden. Beim Umgang mit arithmetischen Operationen an Zeichenvariablen folgt PHP den Gewohnheiten von Perl und nicht denen von C. In Perl erhält beispielsweise 'Z'+1 'AA', während in C 'Z'+1 '[' (ord('Z') == 90, ord('[') == 91 erhält ). Beachten Sie, dass Zeichenvariablen nur inkrementiert, nicht dekrementiert werden können und nur reine Buchstaben (a-z und A-Z) unterstützt werden.

Das heißt, wenn:


der Code wie folgt lautet:

und:
$name = "laruence"; 
++$name; //将会是"laruencf"


der Code wie folgt lautet folgt:

Der Grund für dieses Problem ist also, dass, wenn $i = Z, ++$i zu AA wird, und
$name = "laruence"; 
--$name; //没有影响, 还是"laruence"
für den String-Vergleich

, AA, BB , XX sind immer bis YZ sind alle kleiner oder gleich Z... also...

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Inkrementierungsoperationsanalyse von PHP für Zeichenfolgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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