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

时间:2012-10-10 23:32:07

标签: php arrays replace

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

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

这是我的阵列:

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

我希望它成为:

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

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

2 个答案:

答案 0 :(得分:22)

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

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

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

答案 1 :(得分:10)

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

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