Mailinglisten-Archive |
Lutz Zetzsche schrieb: > Hi Sebastian, > > Am Samstag, 17. März 2007 11:06 schrieb Sebastian Mendel: >> Lutz Zetzsche schrieb: >>> Die interessante Frage ist nun, warum nicht schon das bloße >>> Übergeben einer nicht existenten Variable an die Funktion isset() >>> zu einer Fehlermeldung führt. >> da ist schon der erste Fehler ... ;-) > > stimmt... Aber Du mußt zugeben: Im Handbuch steht auch überall Funktion. naja, im Deutschen aber nur, das nehm ich nicht, außerdem ist dein 'überall' exakt eine Stelle ... ;-) mach halt einen Bug-Report > Auf der anderen Seite funktioniert isset() nicht ohne Klammern, wie es > für die Verwendung von Sprachkonstrukten empfohlen wird: > > http://www.phpbar.de/w/Sprachkonstrukt na da hat sich der Verfasser wohl geirrt, bzw. einen Ausnahmefall vergessen ... >> isset() ist keine Funktion - sondern ein Sprachkonstrukt > > echo ist aber auch ein Sprachkonstrukt, und wenn ich dem eine > undefinierte Variable übergebe, gibt es den Fehler auch. Also haben > wird das Problem damit zunächst nur von der Funktions- auf die > Sprachkonstruktebene verschoben. :-) naja ... aber das ist doch nicht ungewöhnlich, oder anders als man erwarten würde ... wann immer auf den Inhalt einer nicht gesetzten Variable zugegriffen wird (das was echo macht) gibt es ein NOTICE - wenn beim überprüfen mit isset() oder empty() auch NOTICEs kommen würden wäre das wohl eher Kontraproduktiv und weder im Sinne des Erfinders noch der Benutzer ... > [...] Die interessante Frage ist: Angenommen, isset() > bekäme den Parameter als Referenz übergeben, warum ist das dann im > Handbuch nicht ersichtlich? Weil es ein Sprachkonstrukt ist? Und isset() die Variable überhaupt nicht übergeben bekommt - denn es ist ja keine Funktion? tut mir leid wenn dich mein Bemerkung zu call-by-reference bei Funktionen dies vermuten lies -- Sebastian
php::bar PHP Wiki - Listenarchive