php数组(四) array_slice
array_slice — 从数组中取出一段
参数介绍:array_slice(
array $array
,
int $offset
,
int $length
= null
,
bool $preserve_keys
= false
): array
offset参数:
- 如果
offset
非负,则序列将从array
中的此偏移量开始(下标从0开始,0,1,2)。 - 如果
offset
为负,则序列将从array
中距离末端这么远的地方开始(下标从1开始,-1, -2)。
注意:
- 参数
offset
标识的是数组中的位置,而不是键。
length参数:
- 如果给出了
length
并且为正,则序列中将具有这么多的单元。 - 如果 array 比
length
要短,只会保留有效的数组单元。 - 如果给出了
length
并且为负,则序列将终止在距离数组末端这么远的地方。 - 如果省略,则序列将从
offset
开始一直到array
的末端。
preserve_keys
- array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将
preserve_keys
设为true
来改变此行为。 无论本参数如何设置,都会保留字符串的键。
1、offset与length参数验证
1 2 3 4 5 6 7 8 9 10 11 | <?php $input = array ( "a" , "b" , "c" , "d" , "e" ); print_r( array_slice ( $input , 2)); // returns "c", "d", and "e" print_r( array_slice ( $input , -2, 1)); // returns "d" print_r( array_slice ( $input , 0, 3)); // returns "a", "b", and "c" // note the differences in the array keys print_r( array_slice ( $input , 2, -1)); print_r( array_slice ( $input , 2, -1, true)); ?> |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Array ( [0] => c [1] => d [2] => e ) Array ( [0] => d ) Array ( [0] => a [1] => b [2] => c ) Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d ) |
2、如果不需要数组索引重排,则设置preserve_keys为true
1 2 3 4 5 | <?php $ar = array ( 'a' => 'apple' , 'b' => 'banana' , '42' => 'pear' , 'd' => 'orange' ); print_r( array_slice ( $ar , 0, 3)); print_r( array_slice ( $ar , 0, 3, true)); ?> |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 | Array ( [a] => apple [b] => banana [0] => pear ) Array ( [a] => apple [b] => banana [42] => pear ) |
分类:
php相关
posted on 2021-08-02 21:02 1450811640 阅读(92) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~