1 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用它array_filter從數(shù)組中刪除 null 或空值。
$params = [1, '', null];
print_r($params);
/*
Array
(
[0] => 1
[1] =>
[2] =>
)
*/
$params = array_filter($params);
print_r($params);
/*
Array
(
[0] => 1
)
*/
不幸的是,它會(huì)取出所有空參數(shù),包括零和空字符串。如果您只想刪除 null 值,則可以向該函數(shù)添加回調(diào)以僅檢查 null 。
$params = array_filter($params, function ($v){return $v !== null;});
編輯
除了你說(shuō)它可以為空/空之外,在完全不知道里面是什么的情況$branddata下,我必須進(jìn)行一些猜測(cè)。
首先,如果$branddata實(shí)際上為空,array_merge會(huì)嚇壞了,我會(huì)用一個(gè)簡(jiǎn)單的空合并運(yùn)算符來(lái)修復(fù)這個(gè)問題$branddata ?? []。
這是一個(gè)做了更多事情的示例:
$branddata = ['', null];
$params = array_filter(array_merge(['alpha', 'beta'], $branddata ?? []));
這會(huì)輸出一個(gè)數(shù)組:
Array
(
[0] => alpha
[1] => beta
)
編輯
最適合您的字面版本是:
$params = array_filter(array_merge([$pstatus, $_POST["minimum_price"], $_POST["maximum_price"]], $branddata ?? []));
- 1 回答
- 0 關(guān)注
- 111 瀏覽
添加回答
舉報(bào)