Rumah > php教程 > PHP源码 > PHP 二维数组分页处理

PHP 二维数组分页处理

PHP中文网
Lepaskan: 2016-05-25 17:12:01
asal
1218 orang telah melayarinya

PHP 二维数组分页处理

两种方式,一种直接用array_slice(),另外一种是传统方式for循环次数的控制,大家看看给些意见,或者谁有更好的办法,也一并分享出来,谢谢。 

方法一:

<?php
$arr_click = array(
array( &#39;clicks&#39; => 3, &#39;clickDate&#39; =>&#39;2010-10-11&#39; ),
array( &#39;clicks&#39; => 2, &#39;clickDate&#39; =>&#39;2010-10-11&#39; ),
array( &#39;clicks&#39; => 3, &#39;clickDate&#39; =>&#39;2010-10-09&#39; ),
array( &#39;clicks&#39; => 1, &#39;clickDate&#39; =>&#39;2010-10-08&#39; ),
);
$page = 2;
$indexinpage=2;
$newarr = array_slice($arr_click, ($page-1)*$indexinpage, $indexinpage);
?>
Salin selepas log masuk

原理如下:
和分页原理一样
数组用 array_slice(array,offset,length) 函数在数组中根据条件取出一段值。
array:需要处理的数组
offset:取出元素的开始位置
length:返回数组的长度
在每页中改变 offset 的值就行了!
方法二:
例如:

<?php
$arr_click = array(
array( &#39;clicks&#39; => 3, &#39;clickDate&#39; =>&#39;2010-10-11&#39; ),
array( &#39;clicks&#39; => 2, &#39;clickDate&#39; =>&#39;2010-10-11&#39; ),
array( &#39;clicks&#39; => 3, &#39;clickDate&#39; =>&#39;2010-10-09&#39; ),
array( &#39;clicks&#39; => 1, &#39;clickDate&#39; =>&#39;2010-10-08&#39; ),
);
$size = 3;
$pnum = ceil(count($arr_click) / $size);
if(isset($_GET[&#39;page&#39;])){
    $page = intval($_GET[&#39;page&#39;]);
    $page = $page > $pnum? $pnum: $page;
    $page = $page < $pnum? 1: $page;
}else{
    $page = 1;
}
for($i = 0; $i < $size; $i++){
    if(!isset($arr_click[($page - 1) * $size + $i]))break;
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($arr_click[($page - 1) * $size + $i]);
    echo &#39;<br>&#39;;
}
?>
<a href="ad.php?page=<?php echo $page - 1 > 0? $page - 1: 1; ?>">上一页</a>
<a href="ad.php?page=<?php echo $page + 1 < $pnum? $page + 1: $pnum; ?>">下一页</a>
Salin selepas log masuk


 以上就是PHP 二维数组分页处理的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan