Friday, May 09, 2008

Some Useful Array Manipulation Functions in PHP

Some Useful Array Manipulation Functions in PHP

Please read Arrays and Array Processing in PHP for an introduction to arrays in PHP. You may also want to read
Sorting Arrays in PHP…Some Sorting Functions and Other Ways of Initializing Arrays in PHP.

shuffle() Function

This function can shuffle or randomly arrange the elements of an arrays. It takes an arrays as argument and manipulates on the original array passed.

//$ar=array(7) { [0]=> int(5) [1]=> 
//int(4) [2]=> int(3) [3]=> int(1) 
//[4]=> int(6) [5]=> int(7) [6]=> int(2) }
//will be different for each run

As you can see the elements of the array ‘$ar’ passed have been re-ordered randomly by the shuffle() function.

This function can be useful when we’d like to have a random element from an array and the order of the elements is not important (as order of elements will change each time this function is operated on an array).

array_reverse() Function

This function takes an array as argument and returns the contents in reverse order. It can be used to create a copy of an array in reverse order.

//$ar=array(7) { [0]=> int(1) [1]=> 
//int(2) [2]=> int(3) [3]=> int(4) [4]=> 
//int(5) [5]=> int(6) [6]=> int(7) }

//$ar2=array(7) { [0]=> int(7) [1]=> 
//int(6) [2]=> int(5) [3]=> int(4) [4]=> 
//int(3) [5]=> int(2) [6]=> int(1) }

One thing to note here is that unlike the shuffle() function, this function does not operate on the original array passed rather it returns the operated values(reversed array).

count() and sizeof() Function

Both the functions are identical and they return the number of elements in the array passed.


array_count_values() Function

This function is used to know the frequency of each unique element in an array. It returns an associative array containing a frequency table whose keys are the different values of the elements of the array passed to this function. The elements of the associative arrays returned in the number of times (frequency) each element is present in the original arrays passed.

The following code will make it clearer:

//$fre=array(7) { [10]=> int(2) [21]=> 
//int(1) [33]=> int(2) [5]=> int(1) [6]=> 
//int(2) [3]=> int(1) [1]=> int(1) }

Previous Articles:

No comments:

Post a Comment

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.