【发布时间】:2015-10-07 17:36:34
【问题描述】:
我想要的结果:
Array (
[search] => *stev*
[meta_query] => Array (
[relation] => OR
[0] => Array (
[key] => category
[value] => Accounting
[compare] => LIKE
)
[1] => Array (
[key] => category
[value] => Appraisal
[compare] => LIKE
)
)
)
我得到的结果:
Array (
[search] => *stev*
[0] => Array (
[meta_query] => Array (
[relation] => OR
[0] => Array (
[0] => Array (
[key] => category
[value] => Accounting
[compare] => LIKE
)
[1] => Array (
[key] => category
[value] => Appraisal
[compare] => LIKE
)
)
)
)
)
我使用的代码:
$constArray =array();
foreach($filter as $item){
array_push($constArray,array('key'=>'category','value'=>$item,'compare'=>'LIKE'));
}
$filterArray=array('meta_query' =>array('relation'=>'OR',$constArray));
array(
'search' => '*' . $search . '*' ,$filterArray
)
如何去掉多余的数组指针?
最终解决方案
$filterArray = array('relation' => 'OR');
foreach ($filter as $item) {
array_push($filterArray, array(
'key' => 'category',
'value' => $item,
'compare' => 'LIKE'
));
}
array(
'search' => '*' . $search . '*' ,
'meta_query' => $filterArray
)
【问题讨论】:
-
它是如何破坏数组的?
-
如果您
var_dump结果,您将看到您的错误。执行var_dump并向我们展示结果。 -
你的代码真的很乱,正确编码和缩进项目真的有助于调试这样的问题