arrayslice(arrayslice php)

http://www.itjxue.com  2023-01-30 09:03  来源:未知  点击次数: 

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.

(责任编辑:IT教学网)

更多

推荐导航代码文章