0

もう 1 つのキーを含めることができる配列があります。私がやりたいことは、その配列に2つの値をコンマで区切るためのキーが複数ある場合です

注文番号が 23489 のデータベース フィールドに 6,7 を入力する必要がありますが、その方法がわかりません。この場合、他のすべてのキーは 1 つしかないため、問題ありません。

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($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 に答える
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 に答える