Функция trim (): как избежать возврата пустой строки, если аргумент не установлен / переменная null? - PullRequest
4 голосов
/ 12 февраля 2011

У меня проблема при использовании функции trim () в php.

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

Как показано выше, выходные данные кодов являются пустой строкой, если входной аргумент равен NULL. Есть ли способ избежать этого? Кажется, что триммер вернет пустую строку по умолчанию, если ввод не установлен или значение NULL.

Это затрудняет использование триммера следующим образом.

array_map('trim', $array);

Мне интересно, есть ли способ добиться того же результата, вместо того чтобы циклически проходить по массиву. Я также заметил, что функция обрезки имеет второй параметр, передавая второй параметр, вы можете избежать некоторого списка символов. но, похоже, у меня не работает.

Есть идеи? Спасибо.

Ответы [ 2 ]

7 голосов
/ 12 февраля 2011

Создайте прокси-функцию, чтобы убедиться, что это строка перед запуском trim().

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

И затем, конечно, вместо это в array_map().

array_map('trimIfString', $array);
3 голосов
/ 12 февраля 2011

Почему бы просто:

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