0

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

我需要在订单号为 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)
4

2 回答 2

0

如果子数组包含多个键,则此循环应以逗号分隔,

foreach($main_arr as $k=>$sub_arr) {
   if(count($sub_arr)>1) {
       $main_arr[$k] = implode(',', $sub_arr);
   }
}
于 2013-08-20T16:10:49.477 回答
0

您可以执行以下操作:

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

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

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

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

于 2013-08-20T16:04:18.907 回答