Weak typing in PHP: why use isset at all?

前端 未结 9 842
孤街浪徒
孤街浪徒 2020-12-01 12:38

It seems like my code works to check for null if I do

if ($tx) 

or

if (isset($tx))

why would I do the se

9条回答
  •  青春惊慌失措
    2020-12-01 13:18

    if ($tx)
    

    This code will evaluate to false for any of the following conditions:

    unset($tx); // not set, will also produce E_WARNING
    $tx = null;
    $tx = 0;
    $tx = '0';
    $tx = false;
    $tx = array();
    

    The code below will only evaluate to false under the following conditions:

    if (isset($tx))
    
    // False under following conditions:
    unset($tx); // not set, no warning produced
    $tx = null;
    

    For some people, typing is very important. However, PHP by design is very flexible with variable types. That is why the Variable Handling Functions have been created.

提交回复
热议问题