Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建php数组_Php_Arrays_Wordpress - Fatal编程技术网

构建php数组

构建php数组,php,arrays,wordpress,Php,Arrays,Wordpress,我想要的结果是: Array ( [search] => *stev* [meta_query] => Array ( [relation] => OR [0] => Array ( [key] => category [value] => Accounting [compare] => LIKE ) [

我想要的结果是:

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
      )

如果忘记设置数组键,请尝试以下操作:

$final = array(
    'search' => '*stev*',
    'meta_query' => array(
        'relation' => 'OR',
        "conditions" => array()
    )
);

$filter = array("Accounting", "Appraisal");
foreach ($filter as $item) {
    $final['meta_query']['conditions'][] = array(
        'key' => 'category',
        'value' => $item,
        'compare' => 'LIKE'
    );
}

var_dump($final);
结果:

array (size=2)
  'search' => string '*stev*' (length=6)
  'meta_query' => 
    array (size=2)
      'relation' => string 'OR' (length=2)
      'conditions' => 
        array (size=2)
          0 => 
            array (size=3)
              'key' => string 'category' (length=8)
              'value' => string 'Accounting' (length=10)
              'compare' => string 'LIKE' (length=4)
          1 => 
            array (size=3)
              'key' => string 'category' (length=8)
              'value' => string 'Appraisal' (length=9)
              'compare' => string 'LIKE' (length=4)

它是如何破坏数组的?如果您
var\u dump
结果,您将看到您的错误。执行
var_dump
并向我们显示结果。您的代码非常混乱,正确地编码和缩进项目确实有助于调试此类问题
条件
不在旧数组中,但这很有帮助!