arrayslice(arrayslice php)
php array_slice 取出数组中的一段序列实例
php
array_slice
函数在数组中根据条件取出一段值,并返回。如果数组有字符串键,所返回的数组将保留键名。本文章通过实例向大家讲解array_slice
函数的使用方法。
php
array_slice
—
从数组中取出一段
array_slice
函数基本语法:
array
array_slice
(
array
$array
,
int
$offset
[,
int
$length
=
NULL
[,
bool
$preserve_keys
=
false
]]
)
array_slice()
返回根据
offset
和
length
参数所指定的
array
数组中的一段序列。
参数介绍
参数
描述
array
必需。输入的数组。
soffset
必需。数值。规定取出元素的开始位置。
=
第一个元素。
如果
offset
非负,则序列将从
array
中的此偏移量开始。如果
offset
为负,则序列将从
array
中距离末端这么远的地方开始。
length
可选。数值。规定被返回数组的长度。
如果给出了
length
并且为正,则序列中将具有这么多的单元。如果给出了
length
并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从
offset
开始一直到
array
的末端。
preserve_keys
可选。规定函数是保留键名还是重置键名。可能的值:
true
-
保留键名
false
-
默认。重置键名
默认会重新排序并重置数组的数字索引。你可以通过将
preserve_keys
设为
TRUE
来改变此行为。
返回值
返回其中一段。
实例:
?php
$input
=
array("a",
"b",
"c",
"d",
"e");
$output
=
array_slice($input,
2);
print_r($output);echo
"br/br/";
$output
=
array_slice($input,
-2,
1);
print_r($output);echo
"br/br/";
$output
=
array_slice($input,
0,
3);
print_r($output);echo
"br/br/";
print_r(array_slice($input,
2,
-1));echo
"br/br/";
print_r(array_slice($input,
2,
-1,
true));
?
结果:
";
$output
=
array_slice($input,
-2,
1);
print_r($output);echo
"
";
$output
=
array_slice($input,
0,
3);
print_r($output);echo
"
";
print_r(array_slice($input,
2,
-1));echo
"
";
print_r(array_slice($input,
2,
-1,
true));
?
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
Golang 中数组(Array)和切片(Slice)的区别
Go 中数组的长度是不可改变的,而 Slice 解决的就是对不定长数组的需求。他们的区别主要有两点。
数组:
切片:
注意 1
虽然数组在初始化时也可以不指定长度,但 Go 语言会根据数组中元素个数自动设置数组长度,并且不可改变。切片通过 append 方法增加元素:
如果将 append 用在数组上,你将会收到报错:first argument to append must be slice。
注意 2
切片不只有长度(len)的概念,同时还有容量(cap)的概念。因此切片其实还有一个指定长度和容量的初始化方式:
这就初始化了一个长度为3,容量为5的切片。
此外,切片还可以从一个数组中初始化(可应用于如何将数组转换成切片):
上述例子通过数组 a 初始化了一个切片 s。
当切片和数组作为参数在函数(func)中传递时,数组传递的是值,而切片传递的是指针。因此当传入的切片在函数中被改变时,函数外的切片也会同时改变。相同的情况,函数外的数组则不会发生任何变化。
在数组中搜索给定的值,如果成功则返回首个相应的键名?
array_search
(PHP 4 = 4.0.5, PHP 5, PHP 7)
array_search — 在数组中搜索给定的值,如果成功则返回首个相应的键名
说明
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
大海捞针,在大海(haystack)中搜索针( needle 参数)。
参数
needle
搜索的值。
注意:
如果 needle 是字符串,则比较以区分大小写的方式进行。
haystack
这个数组。
strict
如果可选的第三个参数 strict 为 true,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样严格比较 haystack 里 needle 的 类型,并且对象需是同一个实例。
返回值
如果找到了 needle 则返回它的键,否则返回 false。
如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。
警告
此函数可能返回布尔值 false,但也可能返回等同于 false 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。
更新日志
版本 说明
5.3.0 As with all internal PHP functions as of 5.3.0, array_search() returns null if invalid parameters are passed to it.