首页 > 解决方案 > 如何检查字符串是否不存在然后返回 false?

问题描述

如果 $str 不存在,我试图让我的代码返回 false

这是我尝试过的(但没有奏效):

function rev_epur_str($str)
{
    $str = implode(' ', array_map('strrev', explode(' ', $str)));
    $str = preg_replace('/\s+/', '', $str);
    if (isset($str)) 
    {
        return $str;
    }
    else
    {
        return false;
    }
}
var_dump(rev_epur_str());

输出说:

PHP Warning:  Missing argument 1 for rev_epur_str() 

它只是返回一个错误而不是 false

var_dump(rev_epur_str("")); // returns string(0) "" instead of FALSE

$str如果为空,我如何返回 false ?

标签: php

解决方案


你可以在 PHP 中设置一个参数的默认值。下面的代码创建$str了一个可选参数,同时,它会empty检查是否返回 false。

function rev_epur_str($str = '')
{
    if (empty($str))
      return false;

    $str = implode(' ', array_map('strrev', explode(' ', $str)));
    $str = preg_replace('/\s+/', '', $str);

    return $str;
}

var_dump(rev_epur_str()); // false

var_dump(rev_epur_str('str')); // rts

注意:原始代码中显示的错误是完全有效的,您已设置函数接受参数,因此您必须将参数传递给它,也就是说,除非您为所述参数使用默认值(这是已经完成的以上)。

现场示例

重复

阅读材料

默认参数


推荐阅读