array_slice() Function
array_slice()是PHP的内建函数,根据用户的选择,它用于通过切片获取数组的一部分。
语法
1 | array_slice($array, $start_point, $slicing_range, preserve) |
参数:该函数可以取4个参数,描述如下:
- $array (mandatory):这个参数指的是原始数组,我们要切片。
- $start_point(必选):此参数指的是数组的起始位置,从切片需要执行的位置开始。提供这种价值是强制性的。如果提供的值为负,那么函数将从数组的末尾开始切片,即, -1表示数组的最后一个元素。
- $slicing _range(可选的):这个参数引用需要进行切片的范围或极限点。一个负数将表示字符串末尾的计数。现在,这个也可以留空。在留空时,函数将按照起点到终点所提到的所有值进行切片处理。
- preserve(可选):此参数只能接受两个布尔参数,即,或真或假。这将告诉函数是保留键还是重置键。True表示保留键值,false表示重置键值。False是默认值。
返回值:如前所述,该函数将返回数组的倾斜部分或切片部分。
下面的程序演示了PHP中的array_slice()函数:
- 在这个程序中,我们将传递所有的正参数以及真正的值来保存键。
12345678910111213<?php// PHP program to illustrate the// array_slice() function// Input array$array = array("ram", "krishna", "aakash","gaurav", "raghav");// Slice from pos 1 to pos 3print_r(array_slice($array, 1, 3, true));?>
输出
123456Array([1] => krishna[2] => aakash[3] => gaurav) - 现在,让我们通过传递与上面程序相同的值来观察输出,但是保留的键值为False。
12345678910111213<?php// PHP program to illustrate the// array_slice() function// input array$array = array("ram", "krishna", "aakash","gaurav", "raghav");// Slice from pos 1 to pos 3print_r(array_slice($array, 1, 3, false));?>
输出
12345([0] => krishna[1] => aakash[2] => gaurav) - 下面的程序显示了当我们不给范围参数时会发生什么:
12345678910111213<?php// PHP program to illustrate the// use of array_slice()// Input array$array = array("ram", "krishna", "aakash","gaurav", "raghav");// Slice from pos 1 to endprint_r(array_slice($array, 1));?>
输出
1234567Array([0] => krishna[1] => aakash[2] => gaurav[3] => raghav) - 下面的程序演示了array_slice()函数,当我们将负参数作为起始位置时:
1234567891011121314<?php// PHP program to illustrate the// use of array_slice()// Input array$array = array("ram", "krishna", "aakash","gaurav", "raghav");// Slice from pos 3rd position to// the end of the arrayprint_r(array_slice($array, -3));?>
输出
123456Array([0] => aakash[1] => gaurav[2] => raghav) - 下面的程序展示了当我们试图通过负参数作为起点和长度或范围时发生了什么:
123456Array([0] => aakash[1] => gaurav[2] => raghav)
1234567891011121314<?php// PHP program to illustrate the// use of array_slice()// Input Array$array = array("ram", "krishna", "aakash","gaurav", "raghav");// Slice from pos 1 to endprint_r(array_slice($array, -3, -2, true));?>
输出
1234Array([2] => aakash)
参考