分批获取司机信息算法

来源:互联网 发布:solid works for mac 编辑:程序博客网 时间:2024/06/10 00:29
    $i = 0;
                    $size = 10;
                    foreach($newDriverIdArr as $key => $row) {
                        $driverArr[$i/$size][] = $row;  //0/10=0,1/10=1,=====$driverArr[0][],$driverArr[1][],
                        $i++;
                    }

//结果 Array
(
    [0] => Array
        (
            [0] => 657
            [1] => 733
            [2] => 680
            [3] => 655
            [4] => 736
            [5] => 659
            [6] => 333
            [7] => 753
            [8] => 690
            [9] => 755
        )


    [1] => Array
        (
            [0] => 670
            [1] => 675
            [2] => 752
            [3] => 754
            [4] => 762
            [5] => 759
            [6] => 172
            [7] => 761
            [8] => 763
            [9] => 741
        )


    [2] => Array
        (
            [0] => 144
            [1] => 751
            [2] => 269
            [3] => 750
            [4] => 766
            [5] => 226
            [6] => 773
            [7] => 90
            [8] => 786
            [9] => 721
        )


    [3] => Array
        (
            [0] => 343
            [1] => 789
            [2] => 785
            [3] => 790
            [4] => 693
            [5] => 760
            [6] => 791
            [7] => 849
            [8] => 852
            [9] => 866
        )


    [4] => Array
        (
            [0] => 880
            [1] => 850
            [2] => 900
            [3] => 906
            [4] => 916
            [5] => 856
            [6] => 975
            [7] => 952
            [8] => 1012
            [9] => 1056
        )


    [5] => Array
        (
            [0] => 1057
            [1] => 1033
            [2] => 1059
            [3] => 1058
            [4] => 1061
            [5] => 1018
            [6] => 768
            [7] => 883
            [8] => 1068
            [9] => 1069
        )


    [6] => Array
        (
            [0] => 858
            [1] => 701
            [2] => 1036
            [3] => 1070
            [4] => 855
            [5] => 1076
            [6] => 1039
            [7] => 1034
            [8] => 746
            [9] => 1035
        )


    [7] => Array
        (
            [0] => 1072
            [1] => 948
        )


)





//分批获取数据 ,循环二维数组                  
                    foreach($driverArr as $row) {
                        $select = $driverObj->select()->where("driver_id in (?) ", $row);
                        $driverRows = $driverObj->fetchAll($select)->toArray();
                        foreach ($driverRows as $row) {
                            $carIdArr[] = $row['car_id'];
                            $driverList[$row['driver_id']] = $row;
                        }
                        $carRows = $carObj->fetchAll(array('car_id in (?)' => $carIdArr));
                        foreach ($carRows as $carRow) {
                            $carList[$carRow->car_id] = array(
                                'vehicle_number' => $carRow->vehicle_number,
                                'brand' => $carRow->brand
                            );
                        }
                    }






php array_chunk将一个一位数组的元素拆分成多个由指定元素的二维数组


   $driverArr =  array_chunk($newDriverIdArr,100);
原创粉丝点击