Php function argument error suppression, empty() isset() emulation

后端 未结 14 698
执笔经年
执笔经年 2021-01-11 17:32

I\'m pretty sure the answer to this question is no, but in case there\'s some PHP guru

is it possible to write a function in a way where invalid arguments or non exi

14条回答
  •  遥遥无期
    2021-01-11 18:25

    Sean, you could do:

    $result = ($func_result = doLargeIntenseFunction()) ? $func_result : 'no result';
    

    EDIT:

    I'm sure there could be a great discussion on ternary operators vrs function calls. But the point of this question was to see if we can create a function that won't throw an error if a non existent value is passed in without using the '@'

    And I told you, check it with isset(). A ternary conditional's first part doesn't check null or not null, it checks true or false. If you try to check true or false on a null value in PHP, you get these warnings. isset() checks whether a variable or expression returns a null value or not, and it returns a boolean, which can be evaluated by the first part of your ternary without any errors.

提交回复
热议问题