在数组php中用空值替换空字符串

hel*_*pse 12 php arrays replace

对不起,我对这个问题进行了很多研究.是否有标准函数来搜索和替换数组元素?

str_replace在这种情况下不起作用,因为我想搜索的是一个空字符串''我想用NULL值替换它们

这是我的阵列:

$array = (
    'first' => '',
    'second' => '',
);
Run Code Online (Sandbox Code Playgroud)

我希望它成为:

$array = (
    'first' => NULL,
    'second' => NULL,
);
Run Code Online (Sandbox Code Playgroud)

当然我可以创建一个函数来做到这一点,我想知道是否有一个标准函数来做到这一点,或者至少是一个"单行解决方案".

Mar*_*in. 24

我不认为有这样的功能,所以让我们创建一个新功能

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

$array2 = array_map(function($value) {
   return $value === "" ? NULL : $value;
}, $array); // array_map should walk through $array
Run Code Online (Sandbox Code Playgroud)


rid*_*rid 11

据我所知,没有标准功能,但你可以这样做:

foreach ($array as $i => $value) {
    if ($value === "") $array[$i] = null;
}
Run Code Online (Sandbox Code Playgroud)