将数组插入PHP数组

时间:2016-03-14 00:43:20

标签: php arrays insert element

使用具有以下结构的数组文件。我知道需要在每个阵列下插入其他数组' color'。

 $items=array (
   0 => 
  array (
    'color' => 'category_a',
  ),
  1 => 
  array (
    'book' => 'Gone With The Wind',
    'movie' => 'GWTW',
    'id'=> 'A100'
  ),

  2 => 
  array (
    'book' => 'Goldfinger',
    'movie' => 'GF',
    'id'=> 'A103'
  ),
   3 => 
  array (
    'color' => 'category_b',
  ),

  4 => 
  array (
    'book' => 'Across The Great Dvide',
    'movie' => 'ATGD',
    'id'=> 'B102'
  ),
  5 => 
  array (
    'book' => 'Goldfinger',
    'movie' => 'GF',
    'id'=> 'B103'
  ),
  );

创建此数组后,我使用一个列表循环以验证列表中的每个值是否都放在每个颜色中。数组如下

  foreach ($controllist as $key=>$value){
    foreach($items as $item){
      if(in_array($value['book'],$item){
            echo "PRESENT IN ARRAY"."<BR>";
      }else{
             echo "INSERT INTO ARRAY HERE"."<BR>";
      }
     }
     }

为简单起见,我的控制列表看起来像 随风而逝 横跨大分裂 金手指 一旦完成,我应该最终得到插入&#39; color&#39; =&gt;的跨越大分水岭的信息。 &#39;类别a&#39;正如[2]金手指向下移动一样。在&#39; color&#39; =&gt; category_b&#39;第一个数组应该是Gone With The Wind。任何一种颜色&#39;数组可能在任何位置都缺少一个数组。总结一下,需要检查列表中是否存在值,如果不存在则插入到数组中。除了使用显示的foreach循环之外,还有更简单的方法吗?如果不是,我如何将信息插入正确的位置? 感谢

编辑: 我认为这个问题可能并不清楚。我需要做的是检查另一个数组是否存在。如果数组中不存在conrollist中的值,则根据卷轴中的位置将数组插入到数组中。插入的数组将具有与其他数组相同的结构(我可以处理这部分)。我无法确定它是否存在以及是否插入它。希望这有帮助

1 个答案:

答案 0 :(得分:0)

您可能希望使用for循环,以便在每次迭代时都有一个指针,以确定您在数组中的位置。

foreach($items as $item){
    for($i = 0; $i < count($controllist); $i++) {
        if(in_array($controllist[$i]['book'],$item){
            echo "PRESENT IN ARRAY AT POS ".$i."<BR>";
        }else{
            $controllist[$i]['book'] = $yourvar;
            echo "INSERT INTO ARRAY HERE"."<BR>";
        }
    }
}
相关问题