欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

大量数据,数组切割分页

程序员文章站 2022-06-11 20:45:21
...
跳至
可以将一大批量数据(前提是一维数组)分割处理成按需要的块。
传入参数为要分割的一维数组,和分割单元的大小。
返回一个切割好了的二维数组。第一维为各个块,第二维为具体数据。




/**
 * 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 "
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;
	}