Can't use method return value in write context

后端 未结 8 1216
野趣味
野趣味 2020-11-22 01:52

I would think the following piece of code should work, but it doesn\'t (Edited: Now works in PHP 5.5+):

if (!empty($r->getError()))
         


        
8条回答
  •  既然无缘
    2020-11-22 02:48

    Note: This is a very high voted answer with a high visibility, but please note that it promotes bad, unnecessary coding practices! See @Kornel's answer for the correct way.

    Note #2: I endorse the suggestions to use @Kornel's answer. When I wrote this answer three years ago, I merely meant to explain the nature of the error, not necessarily endorse the alternative. The code snippet below is not recommended.


    It's a limitation of empty() in PHP versions below 5.5.

    Note: empty() only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).

    You'd have to change to this

    // Not recommended, just illustrates the issue
    $err = $r->getError();
    if (!empty($err))
    

提交回复
热议问题