我尝试使用Elastic Search和PHP进行查询。
但是有些数据可能会变空,而不能添加到数组中。这是我的阵列:
$query = $this->elasticParams['body'] = [
'sort' => [
'price' => 'asc'
],
'query' => [
'bool' => [
'must' => [empty($should) ? null : $should, $range],
]
],
'size' => 1000
];
但是什么时候做dd();显示一个值为null的位置,而不是我的查询。
array:3 [▼
"sort" => array:1 [▶]
"query" => array:1 [▼
"bool" => array:1 [▼
"must" => array:2 [▼
0 => null
1 => array:1 [▶]
]
]
]
"size" => 1000
如何将此位置删除为我的查询工作?
答案 0 :(得分:0)
如果要从数组中删除所有空值,请尝试以下操作:
$my_array = array('sort' => array(
'price' => 'asc'
),
'query' => array(
'bool' => array(
'must' => array(0 => null,
1 => array(12),
),
),
),
'size' => 1000
);
function array_remove_null($input){
foreach ($input as &$value){
if (is_array($value)){
$value = array_remove_null($value);
}
}
return array_filter($input);
}
$my_array = array_remove_null($my_array);