Trim() 函数:如果参数未设置/空变量,如何避免返回空字符串?

发布于 2024-10-17 05:14:10 字数 406 浏览 4 评论 0原文

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

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

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

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

array_map('trim', $array);

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

有什么想法吗?谢谢。

I have a problem when using the trim() function in php.

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

As shown above, the output of the codes is empty string if the input argument if NULL. Is there any way to avoid this? It seems the trim will return empty string by default if the input is unset or NULL value.

This give me a hard time to use trim as following.

array_map('trim', $array);

I am wondering if there's any way I can accomplish the same result instead of looping through the array. I also noticed that the trim function has second parameter, by passing the second parameter, you can avoid some charlist. but it seems not work for me.

Any ideas? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘逸的'云 2024-10-24 05:14:10

创建一个代理函数,以确保它是一个字符串,然后再对其运行 trim()

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

然后当然将传递给array_map()

array_map('trimIfString', $array);

Create a proxy function to make sure it's a string before running trim() on it.

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

And then of course pass it to array_map() instead.

array_map('trimIfString', $array);
谎言月老 2024-10-24 05:14:10

为什么不只是:

$input = !empty($input) ? trim($input) : $input;

Why not just:

$input = !empty($input) ? trim($input) : $input;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文