Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用codeigniter将多维数组值插入数据库_Php_Arrays_Codeigniter - Fatal编程技术网

Php 使用codeigniter将多维数组值插入数据库

Php 使用codeigniter将多维数组值插入数据库,php,arrays,codeigniter,Php,Arrays,Codeigniter,数据库表 使用codeigniter将多维数组值插入数据库 帮帮我。试试这边 这将是您自己的功能代码 array (size=11) 'reward_title' => array (size=2) 0 => string 'kishan' (length=6) 1 => string 'asd' (length=3) 'amount' => array (size=2) 0 => string '1

数据库表

使用codeigniter将多维数组值插入数据库 帮帮我。

试试这边

这将是您自己的功能代码

array (size=11)
  'reward_title' => 
    array (size=2)
      0 => string 'kishan' (length=6)
      1 => string 'asd' (length=3)
  'amount' => 
    array (size=2)
      0 => string '100' (length=3)
      1 => string '200' (length=3)
  'description' => 
    array (size=2)
      0 => string 'k' (length=1)
      1 => string 'kk' (length=2)
  'estimated_delivery' => 
    array (size=2)
      0 => string '02/02/2017' (length=10)
      1 => string '02/03/2017' (length=10)
  'shipping_details' => 
    array (size=2)
      0 => string '1' (length=1)
      1 => string '2' (length=1)
  'ship_amount_country' => 
    array (size=2)
      0 => string '1' (length=1)
      1 => string '' (length=0)
  'ship_anywhere_world' => 
    array (size=2)
      0 => string '' (length=0)
      1 => string '5' (length=1)
  'limit_avail' => 
    array (size=2)
      0 => string 'on' (length=2)
      1 => string 'on' (length=2)
  'backer_limit' => 
    array (size=2)
      0 => string '2' (length=1)
      1 => string '6' (length=1)
  'avail_from' => 
    array (size=2)
      0 => string '3' (length=1)
      1 => string '7' (length=1)
  'avail_until' => 
    array (size=2)
      0 => string '4' (length=1)
      1 => string '8' (length=1)
并在控制器中创建另一个函数

$data = [];
foreach ($array as $k => $v) {
    foreach ($v as $k1 => $v1) {
        $data[$k1][] = [$k => $v1];
    }
}
foreach ($data as $k => $v) {
    $a        = $this->array_2d_to_1d($v);
    $result[] = $a;
}
$this->db->set($result);

$this->db->insert_batch('table', $result);

我相信这会起作用。

RTFM请参见$this->db->insert\u batch认真地解释您试图实现的目标!OP需要将给定的数组转换为codeigniter多插入数组。我希望我很清楚我正在尝试…………我不理解你的代码$array变量将是你的数组。我会让你明白的,首先尝试一下。请在上面的数组中编写代码
function array_2d_to_1d($input_array)
{
    $output_array = array();
    for ($i = 0; $i < count($input_array); $i++) {
        for ($j = 0; $j < count($input_array[$i]); $j++) {
            $output_array[key($input_array[$i])] = $input_array[$i][key($input_array[$i])];
        }
    }
    return $output_array;
}