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 關注
- 114 瀏覽
添加回答
舉報