array_slice()是PHP的内置函数,用于通过切割数组来获取数组的一部分,根据用户的选择。
语法:
array_slice(array,start_point, $slicing_range, preserve)
参数:该函数可以接受四个参数,如下所述:
$array(必需):此参数指的是我们要切割的原始数组。
$start_point(必需):此参数指的是进行切割的数组的起始位置。必须提供此值。如果提供的值是负数,则函数从数组的末尾开始切割,即-1指的是数组的最后一个元素。
$slicing _range(可选):此参数指的是需要切割的范围或限制点。负值将指示字符串的末尾计数。现在,这也可以留空。留空时,函数将从起始点切割所有值,直到结束。
$preserve(可选):此参数只能采用两个布尔参数,即True或False。这将告诉函数是否保留键或重置它。True指的是保留键,false指的是重置键。False是默认值。
返回值:如前所述,此函数将返回所选的或切割后的数组部分。
以下程序说明了PHP中的array_slice()函数:
<?php
// PHP program to illustrate the
// array_slice() function
// Input array
$array = array("ram", "krishna", "aakash",
"gaurav", "raghav");
// Slice from pos 1 to pos 3
print_r(array_slice($array, 1, 3, true));
?>
output:
Array
(
[1] => krishna
[2] => aakash
[3] => gaurav
)
现在让我们尝试通过传递与上述程序中相同的值来观察输出,但是将保留键的值设置为False。
<?php
// PHP program to illustrate the
// array_slice() function
// input array
$array = array("ram", "krishna", "aakash",
"gaurav", "raghav");
// Slice from pos 1 to pos 3
print_r(array_slice($array, 1, 3, false));
?>
output:
Array
(
[0] => krishna
[1] => aakash
[2] => gaurav
)
下面的程序展示了当我们没有提供范围参数时会发生什么:
<?php
// PHP program to illustrate the
// use of array_slice()
// Input array
$array = array("ram", "krishna", "aakash",
"gaurav", "raghav");
// Slice from pos 1 to end
print_r(array_slice($array, 1));
?>
output:
Array
(
[0] => krishna
[1] => aakash
[2] => gaurav
[3] => raghav
)
当我们将负参数作为起始位置传递时,下面的程序说明了array_slice()函数:
<?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 array
print_r(array_slice($array, -3));
?>
output:
Array
(
[0] => aakash
[1] => gaurav
[2] => raghav
)
下面的程序展示了当我们尝试将负参数作为起始点和长度或范围时,会发生什么:
<?php
// PHP program to illustrate the
// use of array_slice()
// Input Array
$array = array("ram", "krishna", "aakash",
"gaurav", "raghav");
// Slice from pos 1 to end
print_r(array_slice($array, -3, -2, true));
?>
output:
Array
(
[2] => aakash
)