【问题标题】:how to create short code for data array sql如何为数据数组sql创建短代码
【发布时间】:2018-11-19 07:39:33
【问题描述】:

我已经可以使用以下查询将数据插入数据库。但我想缩短我的几个列名的代码,因为它就像一个连续的数字。我已经通过 m1=A、m2=B、m3=C、m4=A 爆炸标记并继续..

下面是我的控制器:

$mark = 'ABCADDBBAACBCDDABBCA';
$totalquestion = '10';

for($i=0; $i<$totalquestion; $i++):
  $no = $i+1;
  $m = substr($mark, 0, $no);
endfor;

$data[] = array(
        'TotalQuestion'   => $totalquestion,
        'Mark'   => $mark,
        'm1'    => $m[0],
        'm2'    => $m[1],
        'm3'    => $m[2],
        'm4'    => $m[3],
        'm5'    => $m[4],
        'm6'    => $m[5],
        'm7'    => $m[6],
        'm8'    => $m[7],
        'm9'    => $m[8],
        'm10'    => $m[9],
        'm11'    => $m[10],
        'm12'    => $m[11],
        'm13'    => $m[12],
        'm14'    => $m[13],
        'm15'    => $m[14],
        'm16'    => $m[15],
        'm17'    => $m[16],
        'm18'    => $m[17],
        'm19'    => $m[18],
        'm20'    => $m[19]
        );

$this->excel_import_model->insert($data);

这是我的结果:

我的问题是如何为我的 data[] 数组重新编码,所以我不需要手动输入 m1、m2、m3 直到 m20。对不起我的英语不好

【问题讨论】:

  • 只需执行一次并将其放入函数中。然后您不需要多次键入它,只需调用该函数即可。否则你可以使用for循环,因为下一个值总是+1

标签: mysql sql codeigniter


【解决方案1】:
    $mark = 'ABCADDBBAACBCDDABBCA';
    $totalquestion = '20';

    $data = array();
    $data = array(
        'TotalQuestion'   => $totalquestion,
        'Mark'   => $mark,
     );

    //Split String into array
    $list = str_split($mark);
    $mlist = array();

    //Loop through splited string
    for($i=0; $i<$totalquestion; $i++):
      $mlist['m'.$i] = $list[$i];
    endfor;

    //Merge here or you an even use push array in for loop itslef
    $data = array_merge($data,$mlist);

【讨论】:

  • 太棒了。根据我的需要。谢谢楼主
猜你喜欢
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
相关资源
最近更新 更多