useful recursive PHP functions

recursively ...

PHP Manual for

II. Array Functions

Introduction

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. See also Array operators for other ways how to manipulate the arrays.

Requirements

No external libraries are needed to build this extension.

Installation

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)

COUNT_RECURSIVE ( integer)

EXTR_OVERWRITE ( integer)

EXTR_SKIP ( integer)

EXTR_PREFIX_SAME ( integer)

EXTR_PREFIX_ALL ( integer)

EXTR_PREFIX_INVALID ( integer)

EXTR_PREFIX_IF_EXISTS ( integer)

EXTR_IF_EXISTS ( integer)

EXTR_REFS ( integer)

Table of Contents array_change_key_case -- Returns an array with all string keys lowercased or uppercasedarray_chunk -- Split an array into chunksarray_combine --  Creates an array by using one array for keys and another for its valuesarray_count_values -- Counts all the values of an arrayarray_diff_assoc -- Computes the difference of arrays with additional index checkarray_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function.array_diff -- Computes the difference of arraysarray_fill -- Fill an array with valuesarray_filter --  Filters elements of an array using a callback functionarray_flip -- Exchanges all keys with their associated values in an arrayarray_intersect_assoc -- Computes the intersection of arrays with additional index checkarray_intersect -- Computes the intersection of arraysarray_key_exists -- Checks if the given key or index exists in the arrayarray_keys -- Return all the keys of an arrayarray_map --  Applies the callback to the elements of the given arraysarray_merge_recursive -- Merge two or more arrays recursivelyarray_merge -- Merge two or more arraysarray_multisort -- Sort multiple or multi-dimensional arraysarray_pad --  Pad array to the specified length with a valuearray_pop -- Pop the element off the end of arrayarray_push --  Push one or more elements onto the end of arrayarray_rand --  Pick one or more random entries out of an arrayarray_reduce --  Iteratively reduce the array to a single value using a callback functionarray_reverse --  Return an array with elements in reverse orderarray_search --  Searches the array for a given value and returns the corresponding key if successfularray_shift --  Shift an element off the beginning of arrayarray_slice -- Extract a slice of the arrayarray_splice --  Remove a portion of the array and replace it with something elsearray_sum --  Calculate the sum of values in an array.array_udiff_assoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function.array_udiff_uassoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function alsoarray_udiff -- Computes the difference of arrays by using a callback function for data comparison.array_unique -- Removes duplicate values from an arrayarray_unshift --  Prepend one or more elements to the beginning of an arrayarray_values -- Return all the values of an arrayarray_walk --  Apply a user function to every member of an arrayarray --  Create an arrayarsort --  Sort an array in reverse order and maintain index associationasort -- Sort an array and maintain index associationcompact --  Create array containing variables and their valuescount -- Count elements in a variablecurrent -- Return the current element in an arrayeach --  Return the current key and value pair from an array and advance the array cursorend --  Set the internal pointer of an array to its last elementextract --  Import variables into the current symbol table from an arrayin_array -- Checks if a value exists in an arraykey -- Fetch a key from an associative arraykrsort -- Sort an array by key in reverse orderksort -- Sort an array by keylist --  Assign variables as if they were an arraynatcasesort --  Sort an array using a case insensitive "natural order" algorithmnatsort --  Sort an array using a "natural order" algorithmnext --  Advance the internal array pointer of an arraypos -- Alias of current() prev -- Rewind the internal array pointerrange --  Create an array containing a range of elementsreset --  Set the internal pointer of an array to its first elementrsort -- Sort an array in reverse ordershuffle -- Shuffle an arraysizeof -- Alias of count() sort -- Sort an arrayuasort --  Sort an array with a user-defined comparison function and maintain index associationuksort --  Sort an array by keys using a user-defined comparison functionusort --  Sort an array by values using a user-defined comparison function

© 2012 lixlpixel