dri98076 2017-09-14 07:15
浏览 43
已采纳

如何根据php中数组中存在的值对在多列中插入数组数据

array(1) { 
    [0]=> array(7) { 
        ["ranking_course_id"]=> string(1) "2" 
        ["ranking_college_id"]=> string(2) "20" 
        ["ranking_year"]=> string(4) "2017" 
        ["ranking_agency"]=> array(3) { 
            [0]=> string(1) "1" 
            [1]=> string(1) "2" 
            [2]=> string(1) "3" 
        } 
        ["ranking_value"]=> array(3) { 
            [0]=> string(2) "10" 
            [1]=> string(2) "20" 
            [2]=> string(2) "30" 
        } 
        ["ranking_salary"]=> string(9) "9.20 Lacs" 
        ["ranking_fees"]=> string(6) "354500" 
    } 
}  

What I want to insert is the following.

course_id | college_id | ranking_agency | ranking | value | salary fees
2            20               1              10      9.20      354500
2            20               2              20      9.20      354500
2            20               3              30      9.20      354500

Please help me out.

  • 写回答

3条回答 默认 最新

  • dongliyan9190 2017-09-14 08:06
    关注

    Try this workout

    $oldarray = array(array("ranking_course_id" => "2", 
            "ranking_college_id"=> "20", 
            "ranking_year"=> "2017", 
            "ranking_agency"=> array("1","2","3"), 
            "ranking_value"=> array("10","20","30"), 
            "ranking_salary"=> "9.20 Lacs", 
            "ranking_fees"=> "354500"));
    
    for($i=0; $i<count($oldarray[0]['ranking_agency']); $i++)
    {
        $newarray[] = $oldarray[0];
        $newarray[$i]['ranking_agency'] = $oldarray[0]['ranking_agency'][$i];
        $newarray[$i]['ranking_value'] = $oldarray[0]['ranking_value'][$i];
    }
    
    
    echo "<pre>"; print_r($newarray);
    
    echo "<pre>"; print_r($oldarray);
    

    output:

    newarray
    
    Array
    (
        [0] => Array
            (
                [ranking_course_id] => 2
                [ranking_college_id] => 20
                [ranking_year] => 2017
                [ranking_agency] => 1
                [ranking_value] => 10
                [ranking_salary] => 9.20 Lacs
                [ranking_fees] => 354500
            )
    
        [1] => Array
            (
                [ranking_course_id] => 2
                [ranking_college_id] => 20
                [ranking_year] => 2017
                [ranking_agency] => 2
                [ranking_value] => 20
                [ranking_salary] => 9.20 Lacs
                [ranking_fees] => 354500
            )
    
        [2] => Array
            (
                [ranking_course_id] => 2
                [ranking_college_id] => 20
                [ranking_year] => 2017
                [ranking_agency] => 3
                [ranking_value] => 30
                [ranking_salary] => 9.20 Lacs
                [ranking_fees] => 354500
            )
    
    )
    
    oldarray
    
    Array
    (
        [0] => Array
            (
                [ranking_course_id] => 2
                [ranking_college_id] => 20
                [ranking_year] => 2017
                [ranking_agency] => Array
                    (
                        [0] => 1
                        [1] => 2
                        [2] => 3
                    )
    
                [ranking_value] => Array
                    (
                        [0] => 10
                        [1] => 20
                        [2] => 30
                    )
    
                [ranking_salary] => 9.20 Lacs
                [ranking_fees] => 354500
            )
    
    )
    

    and now insert the records :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀