dedlfix: Problem bei einfacher for-Schleife

Beitrag lesen

echo $begrüßung;

Wo wir bei der Thematik sind: Ein Array kann ja durchaus "fragmentiert" sein, Ich definiere eines mit der Länge 1000, und belege dann, sagen wir, nur ein Element mit einem Wert, sagen wir Stelle 827.

Das scheitert schon im Ansatz daran, dass man bei PHP-Arrays keine Länge definieren kann. PHP-Arrays sind, wie das Handbuch sagt, eine geordnete Abbildung von Werten zu Schlüsseln, oder mit anderen Worten: viele einzelne Variablen (auch unterschiedlichen Typs) unter einem Hut zusammengefasst. Ist ein Schlüssel nicht im Array enthalten, wird auch kein Platz dafür belegt.

Dein einer Wert steht auch nicht "an Position 827" sondern hat einfach nur den Schlüssel 827. Erfolgt nun zum Beispiel noch ein Schreibzugriff auf den bisher nicht vorhandenen Schlüssel 42 wird ein neues Element an die "geordnete Abbildung von Werten auf Schlüsseln" angehängt, das den ebendiesen Schlüssel erhält.

Nicht vorhandene Schlüssel auf null zu prüfen ist auch nicht richtig. PHP gibt zwar bei Lesezugriffen auf nicht vorhandene Variablen und Array-Elemente null zurück, jammert dabei aber leise vor sich hin. Gestattet man PHP das Ausgeben von Notizen, indem man das error_reporting aus E_ALL stellt, kann man ihm dabei zusehen.

echo "$verabschiedung $name";