Creates an array. Read the section on the array type for more information on what an array is.
Parameters
values
Syntax "index => values", separated by commas, define index and values. index may be of type string or integer. When index is omitted, an integer index is automatically generated, starting at 0. If index is an integer, next generated index will be the biggest integer index + 1. Note that when two identical index are defined, the last overwrite the first.
Having a trailing comma after the last defined array entry, while unusual, is a valid syntax.
Return Values
Returns an array of the parameters. The parameters can be given an index with the
=>
operator. Read the section on the array type for more information on what an array is.
Examples
The following example demonstrates how to create a two-dimensional array, how to specify keys for associative arrays, and how to skip-and-continue numeric indices in normal arrays.
Note that index '3' is defined twice, and keep its final value of 13. Index 4 is defined after index 8, and next generated index (value 19) is 9, since biggest index was 8.
If an array has indices that will be the same once run through this function (e.g. "
keY
" and "
kEY
"), the value that is later in the array will override other indices.
Chunks an array into arrays with
length
elements. The last chunk may contain less than
length
elements.
Parameters
array
The array to work on
length
The size of each chunk
preserve_keys
When set to
true
keys will be preserved. Default is
false
which will reindex the chunk numerically
Return Values
Returns a multidimensional numerically indexed array, starting with zero, with each dimension containing
length
elements.
Errors/Exceptions
If
length
is less than
1
, a
ValueError
will be thrown.
Changelog
Version
Description
8.0.0
If
length
is less than
1
, a
ValueError
will be thrown now; previously, an error of level
E_WARNING
has been raised instead, and the function returned
null
.
array_column()
returns the values from a single column of the
array
, identified by the
column_key
. Optionally, an
index_key
may be provided to index the values in the returned array by the values from the
index_key
column of the input array.
Parameters
array
A multi-dimensional array or an array of objects from which to pull a column of values from. If an array of objects is provided, then public properties can be directly pulled. In order for protected or private properties to be pulled, the class must implement both the
__get()
and
__isset()
magic methods.
column_key
The column of values to return. This value may be an integer key of the column you wish to retrieve, or it may be a string key name for an associative array or property name. It may also be
null
to return complete arrays or objects (this is useful together with
index_key
to reindex the array).
index_key
The column to use as the index/keys for the returned array. This value may be the integer key of the column, or it may be the string key name. The value is cast as usual for array keys (however, prior to PHP 8.0.0, objects supporting conversion to string were also allowed).
Return Values
Returns an array of values representing a single column from the input array.
Changelog
Version
Description
8.0.0
Objects in columns indicated by
index_key
parameter will no longer be cast to string and will now throw a
TypeError
instead.
Examples
Example #1 Get the column of first names from a recordset
<?php// Array representing a possible record set returned from a database$records=array(array('id'=>2135,'first_name'=>'John','last_name'=>'Doe',),array('id'=>3245,'first_name'=>'Sally','last_name'=>'Smith',),array('id'=>5342,'first_name'=>'Jane','last_name'=>'Jones',),array('id'=>5623,'first_name'=>'Peter','last_name'=>'Doe',));$first_names=array_column($records,'first_name');print_r($first_names);?>
The above example will output:
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
Example #2 Get the column of last names from a recordset, indexed by the "id" column
<?php// Using the $records array from Example #1$last_names=array_column($records,'last_name','id');print_r($last_names);?>
The above example will output:
Array
(
[2135] => Doe
[3245] => Smith
[5342] => Jones
[5623] => Doe
)
Example #3 Get the column of usernames from the public "username" property of an object