downloads | documentation | faq | getting help | mailing lists | reporting bugs | sites | links | my 
search for in the  
view the version of this page
Last updated: Thu, 21 Aug 2003

II. Array Functions


These functions allow you to interact with and manipulate arrays in various ways. Arrays are essential for storing, managing, and operating on sets of variables.

Simple and multi-dimensional arrays are supported, and may be either user created or created by another function. There are specific database handling functions for populating arrays from database queries, and several functions return arrays.

Please see the Arrays section of the manual for a detailed explanation of how arrays are implemented and used in PHP.


No external libraries are needed to build this extension.


There is no installation needed to use these functions; they are part of the PHP core.

Runtime Configuration

This extension has no configuration directives defined in php.ini.

Resource Types

This extension has no resource types defined.

Predefined Constants

The constants below are always available as part of the PHP core.

CASE_LOWER (integer)

CASE_LOWER is used with array_change_key_case() and is used to convert array keys to lower case. This is also the default case for array_change_key_case().

CASE_UPPER (integer)

CASE_UPPER is used with array_change_key_case() and is used to convert array keys to upper case.

Sorting order flags:

SORT_ASC (integer)

SORT_ASC is used with array_multisort() to sort in ascending order.

SORT_DESC (integer)

SORT_DESC is used with array_multisort() to sort in descending order.

Sorting type flags: used by various sort functions

SORT_REGULAR (integer)

SORT_REGULAR is used to compare items normally.

SORT_NUMERIC (integer)

SORT_NUMERIC is used to compare items numerically.

SORT_STRING (integer)

SORT_STRING is used to compare items as strings.

COUNT_NORMAL (integer)



EXTR_SKIP (integer)





EXTR_IF_EXISTS (integer)

EXTR_REFS (integer)

Table of Contents
array_change_key_case -- Returns an array with all string keys lowercased or uppercased
array_chunk -- Split an array into chunks
array_combine --  Creates an array by using one array for keys and another for its values
array_count_values -- Counts all the values of an array
array_diff_assoc -- Computes the difference of arrays with additional index check
array_diff -- Computes the difference of arrays
array_fill -- Fill an array with values
array_filter --  Filters elements of an array using a callback function
array_flip -- Exchanges all keys with their associated values in an array
array_intersect_assoc -- Computes the intersection of arrays with additional index check
array_intersect -- Computes the intersection of arrays
array_key_exists -- Checks if the given key or index exists in the array
array_keys -- Return all the keys of an array
array_map --  Applies the callback to the elements of the given arrays
array_merge_recursive -- Merge two or more arrays recursively
array_merge -- Merge two or more arrays
array_multisort -- Sort multiple or multi-dimensional arrays
array_pad --  Pad array to the specified length with a value
array_pop -- Pop the element off the end of array
array_push --  Push one or more elements onto the end of array
array_rand --  Pick one or more random entries out of an array
array_reduce --  Iteratively reduce the array to a single value using a callback function
array_reverse --  Return an array with elements in reverse order
array_search --  Searches the array for a given value and returns the corresponding key if successful
array_shift --  Shift an element off the beginning of array
array_slice -- Extract a slice of the array
array_splice --  Remove a portion of the array and replace it with something else
array_sum --  Calculate the sum of values in an array.
array_unique -- Removes duplicate values from an array
array_unshift --  Prepend one or more elements to the beginning of array
array_values -- Return all the values of an array
array_walk --  Apply a user function to every member of an array
array --  Create an array
arsort --  Sort an array in reverse order and maintain index association
asort -- Sort an array and maintain index association
compact --  Create array containing variables and their values
count -- Count elements in a variable
current -- Return the current element in an array
each --  Return the current key and value pair from an array and advance the array cursor
end --  Set the internal pointer of an array to its last element
extract --  Import variables into the current symbol table from an array
in_array -- Checks if a value exists in an array
key -- Fetch a key from an associative array
krsort -- Sort an array by key in reverse order
ksort -- Sort an array by key
list --  Assign variables as if they were an array
natcasesort --  Sort an array using a case insensitive "natural order" algorithm
natsort --  Sort an array using a "natural order" algorithm
next --  Advance the internal array pointer of an array
pos -- Get the current element from an array
prev -- Rewind the internal array pointer
range --  Create an array containing a range of elements
reset --  Set the internal pointer of an array to its first element
rsort -- Sort an array in reverse order
shuffle -- Shuffle an array
sizeof -- Alias of count()
sort -- Sort an array
uasort --  Sort an array with a user-defined comparison function and maintain index association
uksort --  Sort an array by keys using a user-defined comparison function
usort --  Sort an array by values using a user-defined comparison function

add a note add a note User Contributed Notes
Array Functions
lsimon at commoner dot com
20-Oct-2003 04:38
Here are two functions I use alot with arrays and I think come in handy:

function array_remove($key, &$array) {
  $array_orig = $array;
  $array = array();
  foreach (array_keys($array_orig) as $keyo) {
    if ($keyo != $key) {
      $array[$keyo] = $array_orig[$keyo];

//ARRAY VALUE REMOVE - destroys key/val
function array_value_remove($value,&$array) {
  if (in_array($value,$array)) {
    for ($i=0; $i < count($array); $i++) {
      if ($value == $array[$i]) {
        array_splice($array, $i, 1);
28-Aug-2003 08:09
Remember that if you want to remove an element from an array, you must use "unset" - Do not set the value to null.
szymon at mazurek dot info
24-Aug-2003 07:46
How to count dimensions in multi-array?
This is the way I do this:

function countdim($array) {
    static $dimcount = 1;
    if (is_array(reset($array))) {
        $return = countdim(reset($array));
    } else {
        $return = $dimcount;
    return $return;

This function will return int number of array dimensions.
jeroen at php dot net
30-Aug-2001 03:58
You should really read , there is a lot of info there about how to handle arrays, how to check wether indices are set, how to modify an array, anything.

 Last updated: Thu, 21 Aug 2003
show source | credits | sitemap | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Sat 01 Nov 2003 04:13:36 EST EST