Mailinglisten-Archive |
Moin Daniel Lorch, moin Liste DL> Hast jemand vielleicht eine Ahnung, weshalb foreach() eine DL> Fehlermeldung ausgibt, wenn das Array leer ist - und noch besser: man DL> mit _(at)_ die Fehlermeldung nicht unterdrücken kann? Dein "Array leer" bedeutet vermutlich, Array existiert nicht? Ein leeres Array ist $a = array(); und das liefert natürlich keine Fehlermeldungen seitens foreach() Was sollte denn Deiner Meinung nach eine Methode zur Bearbeitung von Arrays tun, wenn sie kein Array als Eingang bekommt? false zurückliefen? Wo wäre der Unterschied zu einem echten leeren Array? Es ist eben nicht "wie wenn man bei for() oder while() eine Fehlermeldung ausgeben würde, wenn die Bedingung false ist". Wenn man das alles ein bißchen ernsthaft angeht, weiß man bzw. kontrolliert man, welche Typen wann wo fließen, dann kommt es nicht zu solchen "Überraschungen". Kurz gesagt: DL> Mir ist die Logik dahinter schleierhaft, denn das zwingt den DL> Programmierer explizit is_array($array) oder if(count($array) > 0) DL> für jede foreach() Schleife zu benutzen. Nur wenn er nicht darauf achtet, daß "$array" auch immer ein Array ist. Auch wenn PHP einem den Typenmischmasch so nett anbietet. Und if(count($array) > 0) foreach(...) ist natürlich Unsinn. -- Stefan Schwardt.
php::bar PHP Wiki - Listenarchive