PHP中array_slice函数用法介绍
文章专门来详细的介绍了array_slice函数的详细用法以及一些常用的array_slice实例程序,有需要了解的同学可看看.
array_slice() 函数在数组中根据条件取出一段值,并返回.
注释: 如果数组有字符串键,所返回的数组将保留键名,参见例子 4.
语法: array_slice(array,offset,length,preserve)
函数在数组中根据条件取出一段值,并返回.
参数: array 必需,规定输入的数组,offset 必需,数值,规定取出元素的开始位置,如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值.
length 可选,数值,规定被返回数组的长度,如果是负数,则从后向前,选取该值绝对值数目的元素,如果未设置该值,则返回所有元素.
preserve 可选,可能的值:true – 保留键 false – 默认 – 重置键,当为0的时候,将里面的值赋值给一个新的变量,最后返回这个变量,今天闲着翻了一下手册,原来这东西是有现成的函数的:array_slice,代码如下:
<?php $arr = array (0,1,2,3,4); var_dump( array_slice ( $arr ,0,2)); echo "<br/>" ; $arr2 = array ( 'a' => array ( 'a' , 'a' , 'a' ), 'b' => array ( 'b' , 'b' , 'b' )); var_dump( array_slice ( $arr2 ,0,1)); ?> //返回的结果如下: array (2) { [0]=> int(0) [1]=> int(1) } array (1) { [ "a" ]=> array (3) { [0]=> string(1) "a" [1]=> string(1) "a" [2]=> string(1) "a" } }我找到了array_slice函数,非常好用,分享一下:
<?php //假定一个结果集二维数组: $arr = array ( array ( 'name' => 'name1' , 'sex' => 'sex1' , 'job' => 'job1' ), array ( 'name' => 'name2' , 'sex' => 'sex2' , 'job' => 'job2' ), array ( 'name' => 'name3' , 'sex' => 'sex3' , 'job' => 'job3' ), array ( 'name' => 'name4' , 'sex' => 'sex4' , 'job' => 'job4' ), array ( 'name' => 'name5' , 'sex' => 'sex5' , 'job' => 'job5' ), array ( 'name' => 'name6' , 'sex' => 'sex6' , 'job' => 'job6' ), array ( 'name' => 'name7' , 'sex' => 'sex7' , 'job' => 'job7' ), array ( 'name' => 'name8' , 'sex' => 'sex8' , 'job' => 'job8' ), array ( 'name' => 'name9' , 'sex' => 'sex9' , 'job' => 'job9' ), array ( 'name' => 'name10' , 'sex' => 'sex10' , 'job' => 'job10' ), array ( 'name' => 'name11' , 'sex' => 'sex11' , 'job' => 'job11' ), array ( 'name' => 'name12' , 'sex' => 'sex12' , 'job' => 'job12' ), ); //计算总记录条数 $num = count ( $arr ); //规定每页显示的条数 $perpage = 3; //计算页数 $pages = ceil ( $num / $perpage ); //echo $num,$perpage,$pagecount;exit; if ( is_numeric ( $_REQUEST [ 'page' ])) { if ( $_REQUEST [ 'page' ]<1){ $page = 1; } elseif ( $_REQUEST [ 'page' ]> $pages ) { $page = $pages ; } else { $page = $_REQUEST [ 'page' ]; } } else { $page = 1; } $start = ( $page -1)* $perpage ; $newpage = array_slice ( $arr , $start , $perpage ,true); //print_r($newpage);exit; ?> <table cellpadding= "0" cellspacing= "0" border= "1" > <tr> <td>name</td> <td>sex</td> <td>job</td> </tr> <?php foreach ( $newpage as $k => $v ) { ?> <tr> <td><?php echo $v [ 'name' ]; ?></td> <td><?php echo $v [ 'sex' ]; ?></td> <td><?php echo $v [ 'job' ]; ?></td> </tr> <?php } ?> </table> <?php if ( $page >1){ echo "<a href='?page=1'>首页</a>" ; echo "<a href='?page=" .( $page -1). "'>上一页</a>" ; } //开源软件:phpfensi测试数据 if ( $page < $pages ) { echo "<a href='?page=" .( $page +1). "'>下一页</a>" ; echo "<a href='?page=" . $pages . "'>末页</a>" ; } ?>查看更多关于PHP中array_slice函数用法介绍 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did31035