PHP Функция paramater принимает переменную ссылки или без ссылки - PullRequest
0 голосов
/ 09 апреля 2020

Я создаю свою собственную функцию IsNullOrEmpty, которая, как следует из названия, проверяет, является ли переменная: 'not set' или 'is null' или 'пусто'.

вот мой код :

function IsNullOrEmpty(&$input = ''){
    if(!isset($input)){
        return true;
    }
    else if($input == null){
        return true;
    }
    else{
        if(is_array($input)){
            if(empty($input)){
                return true;
            }
            else{
                return false;
            }
        }
        else if(is_string($input)){
            if(strlen(trim($input)) <= 0){
                return true;
            }
            else{
                return false;
            }
        }
    }
}

Вот несколько случаев, когда мы будем вызывать эту функцию:

$bool1 = IsNullOrEmpty($someEmptyString); // returns true
$bool2 = IsNullOrEmpty($someEmptyArray); // returns true
$bool3 = IsNullOrEmpty($some_undefined_variable); // returns true
$bool4 = IsNullOrEmpty($someClass->getStuff()); // I get message: Notice: Only variables should be passed by reference

Прием ссылок удобен, поскольку позволяет отправлять неопределенные переменные в эту функцию без ошибок, но не в случае, когда переменная не отправляется. Так есть ли способ, что эта функция может принимать reference ИЛИ non-reference параметры?

Надеюсь, что это имеет смысл, потому что я не могу найти ответ по результатам, которые служат Google или Stackoverflow.

Редактировать: Поскольку согласно @deceze нет ответа, что мне делать с этим вопросом, удалить его, спрятать?

...