结合数组键PHP

时间:2013-08-20 15:58:57

标签: php

我有一个可以包含更多密钥的数组。我想要做的是,如果该数组有多个键以逗号分隔这两个值

我需要在订货号为23489的数据库字段中输入6,7,但不知道如何去做。在这种情况下,所有其他人都可以,因为他们只有一把钥匙。

array
  239489 => 
    array
      0 => string '6' (length=1)
      1 => string '7' (length=1)
  329048 => 
    array
      0 => string '10' (length=2)
  908423 => 
    array
      0 => string '11' (length=2)
  '239489-1' => 
    array
      0 => string '8' (length=1)

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

foreach($array as $key => $value){
    $array[$key] = implode(',', $value);
}

这将使用内爆字符串覆盖数组...如果您不想覆盖原始数组,则可以:

$orders = array();    
foreach($array as $key => $value){
    $orders[$key] = implode(',', $value);
}

我将指出在数据库字段中存储以逗号分隔的值通常是一个设计缺陷......您可能需要考虑类似于order_items表...但这只是我的意见......

答案 1 :(得分:0)

如果子数组包含多个键

,则此循环应以逗号分隔
foreach($main_arr as $k=>$sub_arr) {
   if(count($sub_arr)>1) {
       $main_arr[$k] = implode(',', $sub_arr);
   }
}