PHP - 序列函数


Sequence接口简介

序列可以描述以单个线性维度排列的值的行为。有些语言可以将其称为列表。它类似于使用增量整数键的数组,但有一些特征除外。

  • 值始终可以索引为 [0, 1, 2, …, size - 1]。
  • 只允许按索引访问 [0, size - 1] 范围内的值。

用例

  • 无论何时我们都可以将数组用作列表(不关心键)。
  • SplDoublyLinkedList 和 SplFixedArray 的更有效替代方案。

界面简介

Ds\Sequence implements Ds\Collection {
   /* Methods */
   abstract public void allocate( int $capacity )
   abstract public void apply( callable $callback )
   abstract public int capacity( void ) 
   abstract public bool contains([ mixed $...values ] )
   abstract public Ds\Sequence filter([ callable $callback ] )
   abstract public mixed find( mixed $value )
   abstract public mixed first( void )
   abstract public mixed get( int $index )
   abstract public void insert( int $index [, mixed $...values ] )
   abstract public string join([ string $glue ] )
   abstract public mixed last( void )
   abstract public Ds\Sequence map( callable $callback )
   abstract public Ds\Sequence merge( mixed $values )
   abstract public mixed pop( void )
   abstract public void push([ mixed $...values ] )
   abstract public mixed reduce( callable $callback [, mixed $initial ] )
   abstract public mixed remove( int $index )
   abstract public void reverse( void )
   abstract public Ds\Sequence reversed( void )
   abstract public void rotate( int $rotations )
   abstract public void set( int $index , mixed $value )
   abstract public mixed shift( void )
   abstract public Ds\Sequence slice( int $index [, int $length ] )
   abstract public void sort([ callable $comparator ] )
   abstract public Ds\Sequence sorted([ callable $comparator ] )
   abstract public number sum( void )
   abstract public void unshift([ mixed $values ] )
}

预定义常量

Ds\Map::MIN_CAPACITY

先生编号 功能说明
1

Ds\序列::分配()

该函数可以为所需容量分配足够的内存。

2

Ds\序列::应用()

该函数可以通过对每个值应用回调函数来更新所有值。

3

Ds\序列::容量()

该函数可以返回当前容量。

4

Ds\序列::包含()

该函数可以确定序列是否包含给定值。

5

Ds\Sequence::filter()

使用 callable 创建一个新序列来确定要包含哪些值。

6

Ds\序列::find()

该函数可以尝试查找值的索引。

7

Ds\序列::first()

该函数可以返回序列中的第一个值。

8

Ds\序列::get()

该函数可以返回给定索引处的值。

9

Ds\序列::插入()

该函数可以在给定索引处插入值。

10

Ds\序列::join()

该函数可以将所有值连接在一起作为一个字符串。

11

Ds\Sequence::last()

该函数可以返回最后一个值。

12

Ds\序列::map()

此函数可以返回对每个值应用回调的结果。

13

Ds\序列::合并()

该函数可以返回将所有给定值添加到序列中的结果。

14

Ds\序列::pop()

该函数可以删除并返回最后一个值。

15

Ds\序列::push()

此函数可以将值添加到序列的末尾。

16

Ds\序列::reduce()

此函数可以使用回调函数将序列减少为单个值。

17 号

Ds\序列::删除()

该函数可以按索引删除并返回一个值。

18

Ds\Sequence::reverse()

该函数可以就地反转序列。

19

Ds\Sequence::reversed()

该函数可以返回反向副本。

20

Ds\序列::旋转()

该函数可以将序列旋转给定的旋转次数。

21

Ds\序列::set()

该函数可以更新给定索引处的值。

22

Ds\序列::shift()

该函数可以删除并返回第一个值。

23

Ds\序列::切片()

该函数可以返回给定范围的子序列。

24

Ds\序列::排序()

该函数可以就地对序列进行排序。

25

Ds\序列::排序()

该函数可以返回排序后的副本。

26

Ds\序列::sum()

该函数可以返回序列中所有值的总和。

27

Ds\序列::unshift()

该函数将值添加到序列的前面。

php_function_reference.htm