在php中使用trim()函数时遇到问题。
//Suppose the input variable is null.
$input = NULL;
echo (trim($input));
如上所示,如果输入参数为NULL,则代码的输出为空字符串。有什么方法可以避免这种情况吗?如果输入未设置或为NULL值,则默认情况下修剪将返回空字符串。
这让我很难使用修剪如下。
array_map('trim', $array);
我想知道是否有任何方法可以完成相同的结果而不是循环遍历数组。我还注意到trim函数有第二个参数,通过传递第二个参数,你可以避免一些charlist。但似乎对我不起作用。
有什么想法吗?感谢。
答案 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);