您的位置:首页 > 编程语言 > PHP开发

php数组指定位置插入值

2014-07-01 09:53 204 查看
业务逻辑如下:

数据1:10个id(数组,也可能不足10个甚至 0个)

数据2:20个id(数组,也可能不足20 甚至为0个)

要求最终返回数据为:前5个来源与数据1,其次是数据2,再其次是数据1中5之后的数据。

业务描述可能会比较复杂

(前5个优先选择数据1中的前端5个数据,不足在选择数据2,第5 个位置之后选择数据2,如果不足则用数据1剩余部分补齐)

这样一个逻辑 如果 用 if else实现 相信 10行代码很难完成,本着化繁为简的理念,我把逻辑抽象为如下描述:

简化:把数据2 插入到数据1的第5 个位置,如果数据1不足5个则插入数据1末尾。

为了达到这个目的,我搜寻php的解决方案,找到了array_splice()

array_splce 定义

array_splice(array,offset,length,array)


array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但它不返回处理结果而是对数组直接处理,它的作用是选择数组中一段值删除或替换

如果有第4个参数在用第4个参数中的值替换,如果第4个参数为空则删除,当length=0 时,就可以实现插入的功能(正式本文需要的)

$data1=array(1,2,3,4,5,6,7,8);

$data2=array(7,6,5,64,55,85,23);

array_splice($data1,5,0,$data2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: