将元素插入PHP多维数组

时间:2012-07-23 05:43:49

标签: php arrays multidimensional-array

我有一个PHP表单,其中字段定义为item[fieldname][],其中字段集通过Jquery Clone函数重复。

这些行在提交时发布如下

[item] => Array ( [itemdate] => Array ( [0] => 2012-07-10 20:44:05 [1] => 2012-07-12 20:44:17 )
                  [flditmname] => Array ( [0] => sdc [1] => sd ) 
                  [fieldtype] => Array ( [0] => 1 [1] => 2 ) 
                  [subscribe] => Array ( [0] => X [1] => X ) 
          )

现在我需要在提交的每一行中插入元素item[id][](类似于交易号)。我很困惑如何实现这一目标。我想到了两种方式:

  1. 查找行数,然后按迭代添加值。但为此我遇到一个问题,PHP计数函数没有返回正确的值(它将每个数组计为一个而不是行)。我可以从第一个元素算起,但我不会知道它,因为我的字段是动态填充的。

  2. 某种数组推送可以遍历行并使用值添加元素。

  3. 寻求专家的帮助,了解我将如何实现这一目标。或者是否有任何其他方式可以建议我如何处理标题项交易过账,其中每个项目都使用行项目编号引用标题事务ID(所有字段都是动态填充的)?结构大致如下:

    标题 doc id | field1 | field2 | ...

    档案: doc id |行号| field3 | field4 | ...

    在发布期间,文档ID将作为 lastno + 1 从数据库中提取。

2 个答案:

答案 0 :(得分:1)

不确定你想要做什么,但这样的事情不起作用?

foreach ($items as &$item)
{
     $item['id'][] = $id;
}

修改

$key = key($items);

foreach ($items[$key] as $item)
{
     $items['id'][] = $id;
}

答案 1 :(得分:1)

foreach($items as $index => $array)
{
    $items[$index]['id']=$id;

}

我知道这是旧的,但仍然可以帮助某人寻找类似的答案