trim()函数:如果参数是unset / null变量,如何避免返回空字符串?

时间:2011-02-12 01:40:32

标签: php trim array-map

在php中使用trim()函数时遇到问题。

//Suppose the input variable is null.
$input = NULL;
echo (trim($input));

如上所示,如果输入参数为NULL,则代码的输出为空字符串。有什么方法可以避免这种情况吗?如果输入未设置或为NULL值,则默认情况下修剪将返回空字符串。

这让我很难使用修剪如下。

array_map('trim', $array);

我想知道是否有任何方法可以完成相同的结果而不是循环遍历数组。我还注意到trim函数有第二个参数,通过传递第二个参数,你可以避免一些charlist。但似乎对我不起作用。

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:7)

创建一个代理函数,以确保它在运行trim()之前是一个字符串。

function trimIfString($value) {
    return is_string($value) ? trim($value) : $value;
}

然后当然将 it 传递给array_map()

array_map('trimIfString', $array);

答案 1 :(得分:3)

为什么不呢:

$input = (is_null($input))? $input: trim($input);