在php中将数组值设置为空

时间:2018-02-16 14:58:46

标签: php arrays

我尝试将数组设置为空,但它不起作用(这是预期的)。

$array = [
    'some_key' => my_function()

     /* 30 more rows of values */
];

function my_function() {
    return null;
}

print_r($array);

以上将显示:

Array(
    'some_key' =>
)

我想要的结果在这种情况下是一个空数组项,因为该函数返回一个空值。

替代方案有点难看:

$some_key = my_function();

$array = [
     /* 30 more rows of values */
];

if(isset($some_key)) {
    $array['some_key] = $some_key;
}

function my_function() {
    return null;
}

print_r($array);

我不喜欢这种方法的原因是我需要离开我的数组树并稍后添加值。

在像这样的大型阵列中看起来更容易:

这是我的输出,但输入看起来很相似。

[component] => Array
    (
        [id] => my-snippet
        [raw] => my-snippet
        [view] => preview
        [template] => tool
        [type] => snippet
        [ctype] => text/html
        [url] => 
    )

向此数组树添加函数或变量看起来很棒。将数组存储在变量中,然后在以后添加变量并不是读取的。有可能解决吗?

1 个答案:

答案 0 :(得分:0)

@mlask在评论中给出了解决方案。使用array_filter是解决此问题的一种方法。