龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 大量数据,数组切割分页

时间:2014-07-25 02:03来源:网络整理 作者:网络 点击:
分享到:
大量数据,数组切割分页 可以将一大批量数据(前提是一维数组)分割处理成按需要的块。传入参数为要分割的一维数组,和分割单元的大小。返回一个切割好了的二维数组。第一维为

可以将一大批量数据(前提是一维数组)分割处理成按需要的块。

传入参数为要分割的一维数组,和分割单元的大小。

返回一个切割好了的二维数组。第一维为各个块,第二维为具体数据。

可以将一大批量数据(前提是一维数组)分割处理成按需要的块。
传入参数为要分割的一维数组,和分割单元的大小。
返回一个切割好了的二维数组。第一维为各个块,第二维为具体数据。

/**
 * designed by kalcaddle
 * 数组分页函数.   
 * 可以将一个数组按照指定大小切割成新的数组
 * 
 * 参数:原始一维数组,切割大小
 * 返回值:新的二维数组,纵列为切割页数.
 * 
 * 使用实例:    
 * for($i = 0; $i < 175; $i++) 
 *      {$send[$i] = $i;} 
 * $arr = arr_page($send, 4654);
 * $cc = count($arr);
 * for($i = 0; $i < $cc; $i++) {
 *      $tt = count($arr[$i]);
 *      for($j = 0; $j < $tt; $j++) {
 *      echo "<br/>arr[$i][$j]=" . $arr[$i][$j];
 *      } 
 * }
 */

public function arr_page($arr,$line)  //数组分页,将一个一维数组按指定大小切割组装成一个二维数组
    {   
        $num=count($arr); 
        $page = floor($num / $line) + ($num % $line == 0?0:1); //得到分页数目 
        $i=0;$j=0;
        while($j<$page) 
        {
            if($j==$page-1) 
            {
                $last=$num%$line;
                $start=$num-$last;
                for($i=0; $i<$last; $i++) 
                {
                    $arr_page[$j][$i]=$arr[$start+$i];
                }
                break;
            }
            for($i=0; $i<$line; $i++) 
            {   
                $arr_page[$j][$i]=$arr[$j*$line+$i];
            }
            $j++;
        }
        Return $arr_page;
    }
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接