php 指定长度的数组,php取数组中指定长度的数据的方法分享

摘要 腾兴网为您分享:php取数组中指定长度的数据的方法分享,桌面时钟,中国体育,指南针,易通行等软件知识,以及云南交管12123,河南律师之家,9377游戏盒,vst全聚合,中国体育,滚屏软件,爱拼机,p搜,wpe,264文件转换工具,动态视频桌面,魔界2配置,知识竞赛答题软件,垂直度简单计算公式,积水潭医院等软件it资讯,欢迎关注腾兴网。在php程序中,减少查询的次数,也是一个提高网站整体性能的办法。 将满足基本条件的数据全部查询出来: ?php$list_json = $this-accessCourse('ID DESC', 1);//查询出所以满足基本条件的数据,状...

在php程序中,减少查询的次数,也是一个提高网站整体性能的办法。

将满足基本条件的数据全部查询出来:

<?php $list_json = $this->accessCourse('ID DESC', 1);//查询出所以满足基本条件的数据,状态正常...$list = Json_decode($list_json, true);//因为查询出来的是json格式这里将其转换成array格式 //热门课程$toplist = array_sort($list, 'NUM', SORT_DESC);//二维数组排序$this->assign('toplist', $toplist);//感兴趣$interest = findArrayList($list,9);//筛选出9条数据$this->assign('interest', $interest);//试听课程$listen_yw = findArrayList($list,4,'SUBJECT',1);//语文$listen_sx = findArrayList($list,4,'SUBJECT',2);//数学$listen_yy = findArrayList($list,4,'SUBJECT',3);//英语$listen_wl = findArrayList($list,4,'SUBJECT',4);//物理$listen_hx = findArrayList($list,4,'SUBJECT',5);//化学$this->assign('listen_yw', $listen_yw);$this->assign('listen_sx', $listen_sx);$this->assign('listen_yy', $listen_yy);$this->assign('listen_wl', $listen_wl);$this->assign('listen_hx', $listen_hx);?>

以下是findArrayList函数的实现代码。

<?php /** * 查询数组 * @param array $array * @param int $length * @param string $field * @param $string $value * @return array * @edit by www.jbxue.com **/function findArrayList($array, $length = null, $field = null, $value = null){if(!is_array($array)){return $array;}$new_arr = array();if(!is_null($field)){foreach ($array as $k=>$v){if($array[$k][$field] == $value){$new_arr[$k] = $v;}}if(empty($new_arr)){return ;}}if(empty($new_arr)){$new_arr = $array;}if(!is_null($length)){$new_arr = array_slice($new_arr,0,$length);//取出数组中指定的长度}return $new_arr;}?>

代码说明:

array_slice 从数组中取出一段

array array_slice ( array array, int offset [, int length [, bool preserve_keys]] )

array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。

如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。

如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset

开始一直到 array 的末端。

注意:

array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改变此行为。

还有一个相对应的 array_splice 把数组中的一部分去掉并用其它值取代。

array array_splice ( array &input, int offset [, int length [, array replacement]] )

array_splice() 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用 replacement 数组中的单元取代。返回一个包含有被移除单

元的数组。注意 input 中的数字键名不被保留。

如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。

如果省略 length,则移除数组中从 offset 到结尾的所有部分。

如果指定了 length 并且为正值,则移除这么多单元。

如果指定了 length 并且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的单元。

小技巧:

当给出了 replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length。

如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。

如果 offset 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。

注意:

替换数组中的键名不保留。如果用来替换的值只是一个单元,那么不需要给它加上 array(),除非该单元本身就是一个数组。

希望通过以上的介绍,大家可以掌握array_splice函数的用法,以及从数组中取指定长度数据的方法。

脚本学堂,祝大家学习进步。

相关推荐

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页