codeigniter修改insert_batch字符串中的数组



这是我的表单输入$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
)
)

我试着用loop混淆。

因此您需要移除内部foreach并将相关值放入数组中。

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

在演示中检查结果

foreach循环更改为以下内容:

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

相关内容

  • 没有找到相关文章

最新更新