Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

AW: Fehler bei php.net melden?

  Alt 11. Aug 2010, 06:31
Hier mal die Antwort eines PHP-Entwicklers (also Entwickler am Core). Ich hab ihm diesen Beispielcode geschickt:
PHP-Quellcode:
$array = array(' one ', ' two ', ' three ', ' four ', ' five ');
foreach ($array as &$str) $str = trim($str);
foreach ($array as $str) echo $str;
Zitat:
[12:03]<anonym>: foreach ($arr as &$str) {
[12:04]<anonym>: du iterierst über das array, bei jedem iterationsschritt machst du $str zu einer referenz auf das aktuelle element.
[12:04]<anonym>: Eine Referez in PHP ist ein Alias, d.h. alle Referenzen sind 100% gleichberechtigt.
[12:05]<anonym>: nun is die iteration zu ende.
[12:05]<anonym>: Was is die Situation?
[12:05]<anonym>: $str is eine Referenz auf das letzte element im Array.
[12:05]<anonym>: Klar.
[12:05]<anonym>: Also geht es weiter:
[12:05]<anonym>: #
[12:05]<anonym>: foreach ($arr as $str) {
[12:06]<anonym>: wir iterieren wieder und weise bei jedem schritt $str das aktuelle element zu.
[12:06]<anonym>: $str ist aber eine Referenz auf das letzte element im Array.
[12:07]<anonym>: d.h. wenn wir im ersten schritt der zweiten Iteration das erste Element aus dem Array nehmen und $str zuweisen ändert sich zugleich dasletzte element im array
[12:07]<anonym>: das schaut also wie array(' one ', ' two ', ' three ', ' four ', 'one') aus
[12:07]<anonym>: im nächsten schritt weisen wir dem letzten element dem letzten zu
[12:07]<anonym>: ...
[12:08]<anonym>: im vorletzten schritt weisen wir dem letzten element das vorletzte element zu
[12:08]<anonym>: array(' one ', ' two ', ' three ', ' four ', ' four ')
[12:08]<anonym>: und im letzten schritt das letzte dem letzten, also ändert sich nichts
[12:09]<anonym>: kannst du auch beobachten indem du ein print_r($arr) in die zweite iteration packst
[12:09]<anonym>: Don't use references and be happy.
[12:10]<anonym>: Alles klar?
Alles klar?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat