2014-12-22 28 views
-4

我想使数组看起来像这样。 请看看并比较代码,以便您直接了解我的意思。如何在PHP中正确创建数组

 $args = array(
      'numberposts' => -1, 
      'post_type' => 'post', 
      'cat' => array(
       1, 2, 3 
      ), 
      'meta_query' => array(
       'relation' => 'OR', 
       /* 
       array(
        'key' => 'year', 
        'value' => '2014', 
        'compare' => 'LIKE' 
       ), 
       array(
        'key' => 'year', 
        'value' => '2013', 
        'compare' => 'LIKE' 
       ) 
       */ 
       $getarray 
      ), 
      'suppress_filters' => false 
     ); 

但是当我这样做,我仍然得到个输出:

   array_push(
        $getarray, 
        array(
         'key' => 'organization_type', 
         'value' => $val, 
         'compare' => 'LIKE' 
        ) 
       ); 

的var_dump:

array(1) { [0]=> array(3) { ["key"]=> string(17) "organization_type" ["value"]=> string(10) "foundation" ["compare"]=> string(4) "LIKE" } } 

我怎样才能让数组包含数组类似:

   array(
        'key' => 'year', 
        'value' => '2014', 
        'compare' => 'LIKE' 
       ), 
       array(
        'key' => 'year', 
        'value' => '2013', 
        'compare' => 'LIKE' 
       ) 
+4

如果你不理解数组,不要从多维数组开始。 – developerwjk

+0

你最近怎么了? – Maxi

+1

这个问题很不明确。你似乎在问怎么做你已经知道该怎么做。你说''我怎样才能让一个数组包含如下所示的数组:''然后给出所需的语法。所以我不明白。唯一我能想到的是你还没有掌握2D数组,所以被多维数组困惑。那么,唯一的解决方案就是先掌握2D数组,并理解使用数字索引和联想索引之间的区别。 – developerwjk

回答

0

这是你正在寻找?

$array = array(); 
$array['key'] = "year"; 
$array['value'] = "2014"; 
$array['compare'] = "LIKE"; 
foreach($array as $i){ 
    echo "$i"; 
} 
+0

不是。我只想在Foreach中创建一个包含几个没有索引的数组的数组! – Maxi

+0

所以你可以做一个foreach($ i作为$ j),在foreach的中间($ Array作为$ i),如果你有数组并且数组在另一个数组内,可能会工作 –

+0

'code' foreach($ Array as $ i ){ foreach($ i as $ j){ echo“Array $ i => $ j”; } } –

0

一些猜测后,我想你是问如何把:

  array(
       'key' => 'year', 
       'value' => '2014', 
       'compare' => 'LIKE' 
      ), 
      array(
       'key' => 'year', 
       'value' => '2013', 
       'compare' => 'LIKE' 
      ) 

到使用关联指标(即词语而不是数字),另一个数组。它看起来像这样:

array(
     'array1' => array(
       'key' => 'year', 
       'value' => '2014', 
       'compare' => 'LIKE' 
      ), 
     'array2' => array(
       'key' => 'year', 
       'value' => '2013', 
       'compare' => 'LIKE' 
      ) 
); 

换句话说,你必须指定你想用作索引的词。你也可以这样做:

$arr = array(); 
$arr['array1'] = array(
       'key' => 'year', 
       'value' => '2014', 
       'compare' => 'LIKE' 
      ); 
$arr['array2'] = array(
       'key' => 'year', 
       'value' => '2013', 
       'compare' => 'LIKE' 
      ); 
+0

哇,有一个巨大的格式错误,但现在所有固定。 – developerwjk

+0

正是!怎么做? – Maxi

+0

@Maxi,我展示了如何在那里做到这一点。 – developerwjk