7

在 php 中使用 trim() 函数时出现问题。

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

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

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

array_map('trim', $array);

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

有任何想法吗?谢谢。

4

2 回答 2

10

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

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

然后当然将传递给array_map()

array_map('trimIfString', $array);
于 2011-02-12T01:43:50.620 回答
4

为什么不只是:

$input = !empty($input) ? trim($input) : $input;
于 2011-02-12T01:41:55.733 回答