1

我想修改数组()中的空值。我只想修改,而不是清理它们。

$arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana');

我想修改并获得这个:

array(a => 'N', b => Apple, C => 'Banana');

我尝试 array_walk() 和 array_filter()。但空值被删除。

我得到:

array('b' => 'Apple', 'C' => 'Banana');
4

3 回答 3

3
array_walk($arr, function(&$val)
{
    if($val == null)
    {
        $val = 'N';
    }
});

这段代码在我的机器上运行良好。

于 2012-07-19T12:23:43.177 回答
1

你也可以这样做:

$arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana' );

foreach ( $arr as $key => $value ) {
    if ( !$value ) $value = 'N';
    $new_arr[ $key ] = $value;
}

print_r( $new_arr );

输出:

Array
(
    [a] => N
    [b] => Apple
    [C] => Banana
)
于 2012-07-19T12:25:59.167 回答
0
foreach ($yourArray as $k=>&$v) {
    if (empty($v)) {
        $v = 'N';
    }
}
于 2012-07-19T12:26:12.057 回答