php通过[name]将数组拆分为组以保存在MySQL中

php通过[name]将数组拆分为组以保存在MySQL中,php,arrays,split,Php,Arrays,Split,从jquery.serilizeArray()通过php打印输出 Array ( [pnr_item_2] => 2 [pkt_item_2] => Hosting L [desc_item_2] => Domain + Hosting [qty_item_2] => 9 [price_item_2] => 12.4 [pnr_item_1] => 1 [pkt_item_1]

从jquery.serilizeArray()通过php打印输出

Array ( 
     [pnr_item_2] => 2 
     [pkt_item_2] => Hosting L 
     [desc_item_2] => Domain + Hosting 
     [qty_item_2] => 9 
     [price_item_2] => 12.4 
     [pnr_item_1] => 1 
     [pkt_item_1] => HostingXXL 
     [desc_item_1] => 20GB, 1x.de 
     [qty_item_1] => 2 
     [price_item_1] => 15.5 
     [pnr_item_3] => 3 
     [pkt_item_3] => Domain 
     [desc_item_3] => Standarddomain 
     [qty_item_3] => 6 
     [price_item_3] => 5 
     [pnr_item_4] => 3 
     [pkt_item_4] => Domain 
     [desc_item_4] => Standarddomain 
     [qty_item_4] => 7 
     [price_item_4] => 5 
     [action] => save 
     [mysql] => update 
     [total] => 351.1 
)
是否存在使用
\u item\u35;
-编号将数组分组的可能性?
我想将项目保存到我的第一个MySQL表中,操作是executet函数,我通过
$\u POST[action]
[total]
获得该函数,必须将其保存在额外的(第二个)MySQL表中。

您可以在数组上循环:

$items = array();
foreach($array as $key=>$value) {
    if(stripos($key, '_item_' !== false)) {
        $items[$key] = $value;
        unset($array[$key]);
    }
}
然后,
$items
包含键中包含
\u item
的所有元素,其余元素包含
$array


但更简单的方法是先保存
total
,然后从数组中删除
action
mysql
total
。因此,只要颠倒两种操作即可。

根据我对问题含义的猜测;)

比您拥有的更多,例如:

$items = array(
  [2]['pnr'] => 2, 
  [2]['pkt'] => 'Hosting L',
  [2][['desc_item'] => 'Domain + Hosting'
  ...
  );

免责声明:我实际上没有测试这个

哈?请修改问题。。。
$items = array(
  [2]['pnr'] => 2, 
  [2]['pkt'] => 'Hosting L',
  [2][['desc_item'] => 'Domain + Hosting'
  ...
  );