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

本文详细介绍了在PHP编程中如何取数组中指定长度的数据,通过`array_slice`函数实现。同时展示了如何进行二维数组排序和筛选特定条件的数据,例如热门课程、感兴趣课程和不同科目的试听课程。文中还提到了`array_splice`函数的使用,用于从数组中移除和替换元素。
摘要由CSDN通过智能技术生成

本文介绍下,在php编程中,取数组中指定长度的数据的方法,有需要的朋友参考下。

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

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

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函数的实现代码。

$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函数的用法,以及从数组中取指定长度数据的方法。

程序员之家,祝大家学习进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值