• PHP Video Tutorials

PHP - Vector Functions



The Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It is the most efficient sequential structure because the value index is a direct mapping to its index in a buffer, and the growth factor is not bound to specific multiple or exponent.

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • Capacity does not have to be a power of 2.
  • get(), set(), push(), pop() are all O(1).

Weaknesses

  • shift(), unshift(), insert() and remove() are all O(n).

Class synopsis

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

Predefined Constants

Ds\Vector::MIN_CAPACITY

Sr.No Function & Description
1

Ds\Vector::allocate()

This Function can allocate enough memory for the required capacity.

2

Ds\Vector::apply()

This Function can update all values by applying a callback function to each value.

3

Ds\Vector::capacity()

This Function can return the current capacity.

4

Ds\Vector::clear()

This Function can remove all values.

5

Ds\Vector::__construct()

This Function can create a new instance.

6

Ds\Vector::contains()

This Function can can determine if a vector contain given values.

7

Ds\Vector::copy()

This Function can return a shallow copy of vector.

8

Ds\Vector::count()

This Function can be used to count the number of elements in a vector.

9

Ds\Vector::find()

This Function can create a new vector using callable to determine which values to include.

10

Ds\Vector::first()

This Function can return the first value in a vector.

11

Ds\Vector::get()

This Function can return a value at given index.

12

Ds\Vector::insert()

This Function can insert the values at a given index.

13

Ds\Vector::isEmpty()

This Function can return whether the vector is empty.

14

Ds\Vector::join()

This Function can join all values together as a string.

15

Ds\Set::jsonSerialize()

This Function can return a representation that can be converted to JSON.

16

Ds\Vector::last()

This Function can return a last value

17

Ds\Vector::map()

This Function can return the result of applying a callback to each value.

18

Ds\Sequence::merge()

This Function can return the result of adding all given values to a sequence.

19

Ds\Sequence::pop()

This Function can remove and return the last value.

20

Ds\Vector::push()

This Function can add values to end of a vector.

21

Ds\Vector::reduce()

This Function can reduce the vector to a single value using callback function.

22

Ds\Vector::remove()

This Function can remove and return a value by index.

23

Ds\Vector::reverse()

This Function can reverse the vector in-place.

24

Ds\Vector::reversed()

This Function can return a reversed copy.

25

Ds\Vector::rotate()

This Function can can rotate the verctor by a given number of rotations.

26

Ds\Vector::set()

This Function can update the value at a given index.

27

Ds\Vector::shift()

This Function can remove and return the first value

28

Ds\Vector::slice

This Function can return a sub-vector of the given range.

29

Ds\Vector::sort()

This Function can sort the vector in-place.

30

Ds\Vector::sorted()

This Function can return a sorted copy.

31

Ds\Vector::sum()

This Function can return the sum of all values in a vector.

32

Ds\Vector::toArray

This Function can convert the vector to an array.

33

Ds\Vector::unshift

This Function can add values to the front of a vector.

php_function_reference.htm
Advertisements