codeigniter修改字符串的insert_batch数组

时间:2018-12-06 12:18:34

标签: php arrays codeigniter explode

这是我的表单输入$data,我希望保留此输入。

$data = "39X3,29X5";

这是我的代码将字符串转换为数组

$data = explode(",", $data);

$out = array();
$step = 0;

foreach($data as $key=>$item){
   foreach(explode('X',$item) as $value){
   $out[$key][$step++] = $value;
}
print '<pre>';
print_r($out);
print '</pre>';

结果

Array
(
    [0] => Array
    (
        [0] => 39
        [1] => 3
    )

    [1] => Array
    (
        [2] => 29
        [3] => 5
    )
)

但是我想更改键并为支持查询构建器类修复此问题

$this->db->insert_batch('mytable',$out). 

喜欢这个。

array
(
    array
    (
        'number' => 39
        'prize' => 3
    ),
    array
    (
        'number' => 29
        'prize' => 5
    )
)

我努力尝试并使用循环混淆。

2 个答案:

答案 0 :(得分:2)

因此,您需要删除内部stdout并将相关值放入数组中。

foreach

demo中查看结果

答案 1 :(得分:0)

将您的foreach循环更改为以下内容:

foreach($data as $key=>$item){
  $temp = explode('X',$item);
  $out[] = ['number' => $temp[0] , 'prize' => $temp[1]];
}