PHP中array_slice函数用法实例详解
作者:shichen2014 发布时间:2023-06-20 20:18:04
标签:PHP,array,slice,函数
本文详细介绍了array_slice函数的详细用法以及一些常用的array_slice实例程序,分享给大家供大家参考。具体分析如下:
array_slice() 函数在数组中根据条件取出一段值,并返回.
注释:如果数组有字符串键,所返回的数组将保留键名,参见例子 4.
语法:array_slice(array,offset,length,preserve)
函数在数组中根据条件取出一段值,并返回.
参数:
array 必需,规定输入的数组.
offset 必需,数值,规定取出元素的开始位置,如果是正数,则从前往后开始取,如果是负值,从后向前取offset 绝对值.
length 可选,数值,规定被返回数组的长度,如果是负数,则从后向前,选取该值绝对值数目的元素,如果未设置该值,则返回所有元素.
preserve 可选,可能的值:true – 保留键 false – 默认 – 重置键,当为0的时候,将里面的值赋值给一个新的变量,最后返回这个变量。
代码如下:
<?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>";
}
if($page<$pages)
{
echo "<a href='?page=".($page+1)."'>下一页</a>";
echo "<a href='?page=".$pages."'>末页</a>";
}
?>
希望本文所述对大家的PHP程序设计有所帮助。
0
投稿
猜你喜欢
- 有些网页制 * 好者提出了这样一个问题——怎么使用Dreamweaver制作出交换图像来。今天,我向大家介绍制作复杂交换图像的方法,相信能够对
- 问题1:使用.net2005自带的SQL-Express连接不上。解决方法:1.网络防火墙阻止数据库连接;2.默认SQL-Express没有
- 内容摘要:在本人上一篇教程《彻底弄懂CSS盒子模式五(定位强化练习) 》有讲到一个很酷的链接面板提示的实例制作,那时主要是用到di
- 在web开发中常常要使用js,为了提高效率一般都会制作js的类文件。这样在使用中更新复用都很方便。下面按照我工作中的一个案例,介绍如何定义j
- CSS文件的链接方式·附加链接:外部CSS文件·导入CSS:常用应用多个CSS文件时,将多个CSS导入一个CSS文件中CSS规则定义有三种:
- 清除浮动一个凡是做页面的人都会遇到的一个东西,但是是否大家都能够清楚的知道,全方位的了解呢?于是一闲下来了马上写了这样的一篇文章,不能讲面面
- 简洁的隐藏垂直菜单在hover时将内容展开。这样的效果在JS里有很多个版本,但这个可以说是绝无仅有的CSS版本。此菜单可以在IE5.5,IE
- 不正确地调用Windows应用程序接口可能会产生一些意想不到的副作用,以及潜在地对一个应用程序的代码及数据段的破坏。正确地使用一个空的32位
- 函数名称:CheckForm_JS(frmName,errStr)功能:用ASP的方法动态写出JavaScript的表单验证的函数check
- 从本篇开始讲述如何用css实现网页的布局,即如何用css控制网页内各个元素的显示位置。如果你是一个初学者,很可能觉得做一个网页的第一步就是布
- 想要在准备查询混合数据库系统时将SQL Server转换为 XQuery 和进行反向转换吗?了解如何开发 Web 服务来从SQL Serve
- 众所周知,凡是用 FrontPage 做的网页里面都有类似这样的标记:<META content="Microso
- 最近做的一个B/S项目,在打印时采用了在IE中嵌入.net winform控件和XML结合的方式(参见http://www.yesky.co
- 下面这段代码,你知道有哪些错误吗:var g_bar = "bar";function foo(container, c
- 出差到了中国雅虎,这里的风格和淘宝很不一样。和雅虎一比,淘宝的办公环境就是个菜市场,闹哄哄,到处是人,在走道里狂奔乱窜,在每个会议室争得面红
- 第一步:创建转向控制页面创建网站默认的首页文件(通常为"index.asp"或"default.asp&quo
- MySQL Group By用法我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是
- 最近在做个大数据量的录入,为了方便客户输入,需要通过方向键来移动到输入框中,本代码仅供学习、研究,请勿用于其它用途:D下面贴的代码只是贴出来
- 1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name2.获取所有表
- 随着对Dreamweaver cs3中集成Spry功能的深入学习,了解并掌握到Spry框架的一些功能模块,其中就有通过Dreamweaver