ホームページ > php教程 > PHP源码 > 大量数据,数组切割分页

大量数据,数组切割分页

PHP中文网
リリース: 2016-05-25 17:14:14
オリジナル
943 人が閲覧しました

跳至

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




/**
 * 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;
	}
ログイン後にコピー

                   

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート