1 回答
TA贡献1784条经验 获得超7个赞
您可以使用它array_filter从数组中删除 null 或空值。
$params = [1, '', null];
print_r($params);
/*
Array
(
[0] => 1
[1] =>
[2] =>
)
*/
$params = array_filter($params);
print_r($params);
/*
Array
(
[0] => 1
)
*/
不幸的是,它会取出所有空参数,包括零和空字符串。如果您只想删除 null 值,则可以向该函数添加回调以仅检查 null 。
$params = array_filter($params, function ($v){return $v !== null;});
编辑
除了你说它可以为空/空之外,在完全不知道里面是什么的情况$branddata下,我必须进行一些猜测。
首先,如果$branddata实际上为空,array_merge会吓坏了,我会用一个简单的空合并运算符来修复这个问题$branddata ?? []。
这是一个做了更多事情的示例:
$branddata = ['', null];
$params = array_filter(array_merge(['alpha', 'beta'], $branddata ?? []));
这会输出一个数组:
Array
(
[0] => alpha
[1] => beta
)
编辑
最适合您的字面版本是:
$params = array_filter(array_merge([$pstatus, $_POST["minimum_price"], $_POST["maximum_price"]], $branddata ?? []));
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报