We can use one callback function to check all the elements of the array. The callback function check each element and returns true or false. A new array is retuned with True value elements of the main array. Array key of parent array is preserved.

Filtering only integers.

We have one array with string and integer data. Let us try to filter elements and keep only integers.
$a= array(1,2,'v','bcd',5,7.3,88,105 ); 
$b=array_filter($a, 'is_int');
The output is here
Array ( [0] => 1 [1] => 2 [4] => 5 [6] => 88 [7] => 105 )
In our new array $b all the integers take from old array $a is kept. Note that the associated keys of the elements are also retained. We used print_r to display our $b array. We have used is_int a built in PHP function which returns true if the element is an integer. Now let us try to use one user defined function as callback function.

Filtering based on length of the element

We will create a function check_length which returns True for the elements who are of 3 char length. We have used strlen() string function to get the length of the string.
function check_length($str){
if(strlen($str) == 3 ){
return 'T';

$a= array(361,2,'vbc','bcd',5,7.3,88,10); 
$b=array_filter($a, 'check_length');
Output is here
Array ( [0] => 361 [2] => vbc [3] => bcd [5] => 7.3 )
Visitors Rating
Your Rating


Post Comment This is for short comments only. Use the forum for more discussions.

HTML . MySQL. PHP. JavaScript. ASP. Photoshop. Articles. FORUM Contact us
©2000-2018 All rights reserved worldwide Privacy Policy Disclaimer