Mailinglisten-Archive |
Hans Egg schrieb: > Hallo Reinhold > > Am 09.07.2008 um 08:21 schrieb Reinhold Jordan: > >> Hallo zusammen, >> >> wenn wir hier schonmal bei gutem Code sind... >> >>> if ( $_POST["cancel_to_product"] ... >> müßte es nicht >> if ( isset($_POST["cancel_to_product"]) ... >> heißen? > > IMHO ist if($var) identisch mit if(isset($var)) nicht unbedingt, aber ich glaube es ging darum NOTICES zu vermeiden > isset($var) liefert TRUE, wenn $var mit einem beliebigen Wert gesetzt > ist, FALSE ist auch ein Wert. eben deshalb ist es nicht gleich: $var = false; isset($var) !== (bool) $var > isset($var) liefert FALSE, wenn $var nicht gesetzt ist oder auf NULL > gesetzt ist. > > empty($var) liefert FALSE, wenn die Variable mit einem Wert NULL oder > FALSE oder dem Wert 0 (Integer oder String) gesetzt ist, dies ist > gleichbedeutend mit $var == TRUE oder '' (leerer string) >> Oder ist das immer gesetzt, mal mit true und mal mit false? > > Eine Variable kann existieren oder nicht. eben, deshlab überprüft man immer ob sie existiert, und nciht direkt auf den Inhalt also isset() oder empty() anstelle von nur if() > Wenn sie existiert, kann sie auch den Wert FALSE oder NULL haben. deshalb empty() > Variablen mit Wert FALSE > oder NULL belegen Speicherplatz, unset($var) bewirkt, dass der > Speicher freigegeben wird. aber nur an PHP, nicht ans System -- Sebastian Mendel
php::bar PHP Wiki - Listenarchive