Heim > Backend-Entwicklung > PHP-Tutorial > Warum zeigen PHP-Arrays mit den Schlüsseln 07 und 08 unerwartetes Verhalten?

Warum zeigen PHP-Arrays mit den Schlüsseln 07 und 08 unerwartetes Verhalten?

Susan Sarandon
Freigeben: 2024-10-20 19:34:02
Original
1041 Leute haben es durchsucht

Why Do PHP Arrays with Keys 07 and 08 Exhibit Unexpected Behavior?

PHP-Array-Anomalien mit den Schlüsseln 07 und 08

Ungewöhnliches Array-Verhalten mit den Schlüsseln 07 und 08 in einem PHP-Array, das wie folgt definiert ist:

<code class="php">$months[01] = 'January';
$months[02] = 'February';</code>
Nach dem Login kopieren

Beim Versuch, das Array mit print_r($months) zu drucken, fehlen die Schlüssel 07 und 08 und September wird stattdessen mit dem Schlüssel 0 angezeigt.

Grund und Lösung

Die Unregelmäßigkeit entsteht, weil numerische Tasten, die mit 0 beginnen, in PHP als Oktalwerte interpretiert werden. Dies bedeutet, dass 07 als Ganzzahl 7 und 08 als 8 geparst wird. Um dieses Problem zu vermeiden, entfernen Sie einfach die führenden Nullen aus den Schlüsseln.

<code class="php">$months[7] = 'July';
$months[8] = 'August';</code>
Nach dem Login kopieren

Dadurch wird sichergestellt, dass die Schlüssel ordnungsgemäß erkannt werden und das Array verhält sich wie erwartet.

Beispiel

Der folgende Code zeigt den Unterschied zwischen der Verwendung führender Nullen und nicht:

<code class="php">echo 07; // prints 7
echo 010; // prints 8
echo 7; // prints 7
echo 10; // prints 10</code>
Nach dem Login kopieren

Zusätzliche Hinweise

Dieses Verhalten wird häufig beim Festlegen von UNIX-Dateiberechtigungen verwendet:

<code class="php">chmod("myfile", 0660);</code>
Nach dem Login kopieren

Für andere Zwecke ist es jedoch selten erforderlich. Weitere Einzelheiten zu Zifferntasten und Oktalwerten finden Sie im PHP-Handbuch.

Das obige ist der detaillierte Inhalt vonWarum zeigen PHP-Arrays mit den Schlüsseln 07 und 08 unerwartetes Verhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage