2012-10-10 27 views
8

申し訳ありませんが、私はこの問題について多くのことを研究しました。 配列要素を検索して置き換える標準的な関数はありますか?空の文字列を配列のPHPでnullに置き換えます

str_replaceは、私が検索したいものをするので、空の文字列は「」で、この場合には動作しないと私はNULLが

値に置き換えるたい、これは私の配列です:

$array = (
    'first' => '', 
    'second' => '', 
); 

と私はそれがなりたい:

もちろん
$array = (
    'first' => NULL, 
    'second' => NULL, 
); 

私はそれを行うための関数を作成することができ、私は1つの標準的なことを行うための機能、または少なくとも「シングルラインソリューション」があるかどうかを知りたいです。

+0

これがdbに起こった場合、nullにフィールドをデフォルト設定することができます –

答えて

19

を、私は、このような機能はないと思うので、のは新しいもの

を作成してみましょう
$array = array(
    'first' => '', 
    'second' => '' 
); 

$array2 = array_map(function($value) { 
    return $value === "" ? NULL : $value; 
}, $array); // array_map should walk through $array 
+0

いい実装ですが、それを行う機能があると思いましたが、そうでないようです。ウルの助けをありがとう:) – helpse

10

私の知る限りでは、そのための標準的な機能はありませんが、あなたのようなものを行うことができます:

foreach ($array as $i => $value) { 
    if ($value === "") $array[$i] = null; 
} 
+0

、標準機能がないようです。私は、ソリューションまたはマーティンのソリューションを実装することができます。ありがとうございました! – helpse