phpbar.de logo

Mailinglisten-Archive

Re[3]: [php] Assoziatives array

Re[3]: [php] Assoziatives array

Stefan Schwardt php_(at)_phpcenter.de
Mon, 10 Jun 2002 01:27:50 +0200


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