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

PHP 二维数组分页处理

PHP中文网
Release: 2016-05-25 17:12:01
Original
1181 people have browsed it

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);
?>
Copy after login

原理如下:
和分页原理一样
数组用 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>
Copy after login


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


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template