我尝试将数组设置为空,但它不起作用(这是预期的)。
$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] =>
)
向此数组树添加函数或变量看起来很棒。将数组存储在变量中,然后在以后添加变量并不是读取的。有可能解决吗?
答案 0 :(得分:0)
@mlask在评论中给出了解决方案。使用array_filter
是解决此问题的一种方法。