phpbar.de logo

Mailinglisten-Archive

[php] Was stimmt mit meiner if(or) Anweisung nicht?

[php] Was stimmt mit meiner if(or) Anweisung nicht?

Hans Egg hans.egg at swissonline.ch
Mit Jul 9 09:18:12 CEST 2008


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))

isset($var) liefert TRUE, wenn $var mit einem beliebigen Wert gesetzt  
ist, FALSE ist auch ein Wert.

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

is_null() kann feststellen, ob die Variable NULL gesetzt ist.

$var === FALSE kann überprüfen, ob der Wert explizit FALSE ist.

$var === TRUE kann überprüfen, ob der Wert explizit TRUE ist.

> Oder ist das immer gesetzt, mal mit true und mal mit false?

Eine Variable kann existieren oder nicht. Wenn sie existiert, kann  
sie auch den Wert FALSE oder NULL haben. Variablen mit Wert FALSE  
oder NULL belegen Speicherplatz, unset($var) bewirkt, dass der  
Speicher freigegeben wird.

Gruß, Hans

php::bar PHP Wiki   -   Listenarchive