【问题标题】:Insert elements into PHP multi-dimensional array将元素插入 PHP 多维数组
【发布时间】:2012-07-21 08:44:16
【问题描述】:

我有一个 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. 某种数组推送,可以遍历行并为我的元素添加值。

在这里寻求专家的帮助,了解我将如何完成此任务。或者有没有其他方法可以建议我如何处理标题项目交易过帐,其中每个项目都使用行项目编号(所有字段动态填充)引用标题交易 ID?结构大致如下:

标题: 文件编号 |字段1 |字段2 | ...

项目: 文件编号 |行号 |字段3 |字段4 | ...

在发布过程中,文档 ID 将作为 lastno+1 从数据库中获取。

【问题讨论】:

    标签: php arrays multidimensional-array


    【解决方案1】:

    不确定您到底想做什么,但这样的事情不会奏效吗?

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

    编辑:

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

    【讨论】:

    • 谢谢。但这将迭代 id 4 次(项目数组中的每个元素一个),而我希望它像其他元素的子元素一样只迭代两次(此处为 [0] 和 [1])。
    【解决方案2】:
    foreach($items as $index => $array)
    {
        $items[$index]['id']=$id;
    
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-06
      • 2011-12-12
      • 1970-01-01
      • 2021-05-30
      • 2017-07-03
      • 2014-01-27
      • 1970-01-01
      相关资源
      最近更新 更多