7

PHPでtrim()関数を使用すると問題が発生します。

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

上に示したように、入力引数がNULLの場合、コードの出力は空の文字列になります。これを回避する方法はありますか?入力が未設定またはNULL値の場合、トリムはデフォルトで空の文字列を返すようです。

これは私に次のようにトリムを使用するのに苦労します。

array_map('trim', $array);

配列をループする代わりに同じ結果を達成できる方法があるかどうか疑問に思っています。また、trim関数には2番目のパラメーターがあることに気付きました。2番目のパラメーターを渡すことで、一部の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 に答える