douzhuo8871 2016-11-29 06:08
浏览 274
已采纳

将数组的第一个索引值作为键,将第二个索引值作为新数组的值

For below code:

 $data = $student_internal_mark->$internalmark_col;
        $d = explode("|",$data);
        foreach ($d as $value) {
              $register_no_arr = explode(":",$value);
              $marks = explode(',',$register_no_arr[1]);
              print_r($register_no_arr);
        }

I got output as below:

Array
        (
            [0] => SD00000001
            [1] => 9.8,3,2,3,4
        )
        Array
        (
            [0] => SD00000002
            [1] => 6.8,2.4,34,34,34
        )
        Array
        (
            [0] => SD00000003
            [1] => 4.6,2.4,23,23,23
        )
        Array
        (
            [0] => SD00000004
            [1] => 6.4,1.2,32,32,32
        )

I want to retrieve the values in such a way that i will get (output) an array as:

student_marks[SD00000001]=9.8,3,2,3,4
student_marks[SD00000002]=6.8,2.4,34,34,34
student_marks[SD00000003]=4.6,2.4,23,23,23
.......
student_marks[SD0000000N]=................

So that I can display marks in each array, as given below

Register No | Mark 1 | Mark 2 |Mark 3 | Total

S5001 | 3 | 2 | 3 | 8

S5002 |4 | 4 |6 | 14

S5003 |1 |3 |5 | 9

  • 写回答

5条回答 默认 最新

  • dqusbxh44823 2016-11-29 06:18
    关注

    Just use foreach. Try this:

    $arr = array(
      array("SD00000001", "9.8,3,2,3,4"),
      array("SD00000002", "6.8,2.4,34,34,34"),
      array("SD00000003", "4.6,2.4,23,23,23"),
      array("SD00000004", "6.4,1.2,32,32,32"),
    );
    
    $student_marks = array();
    foreach($arr as $values) {
        $student_marks[$values[0]] = $values[1];
    }
    
    echo '<pre>';
        print_r($student_marks);
    echo '</pre>';
    

    UPDATE

    This is your given:

    $data = 'SD00000001:9.8,3,2,3,4|SD00000002:6.8,2.4,34,34,34|SD000000‌​03:4.6,2.4,23,23,2‌​3|‌​SD00000004:6.4,1.2,3‌​2,32,32'; 
    $student_marks = array();
    $d = explode("|",$data);
    foreach($d as $values) {
        $valuesArr = explode(":", $values);
        $student_marks[$valuesArr[0]] = $valuesArr[1];
    }
    
    echo '<pre>';
    print_r($student_marks); 
    echo '</pre>';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 优质github账号直接兑换rmb,感兴趣伙伴可以私信
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)