Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

trim() function : How to avoid empty string return if the argument is unset/null variable?

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.

like image 227
easycoder Avatar asked Feb 12 '11 01:02

easycoder


1 Answers

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);
like image 94
Jonah Avatar answered Oct 29 '22 20:10

Jonah