WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
PHP Web Logs (BLogs)
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Forex Trading Online forex trading platform
Applies the callback to the elements of the given arrays

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_mapApplies the callback to the elements of the given arrays

Description

array array_map ( callback $callback , array $arr1 [, array $... ] )

array_map() returns an array containing all the elements of arr1 after applying the callback function to each one. The number of parameters that the callback function accepts should match the number of arrays passed to the array_map()

Parameters

callback

Callback function to run for each element in each array.

arr1

An array to run through the callback function.

array

Variable list of array arguments to run through the callback function.

Return Values

Returns an array containing all the elements of arr1 after applying the callback function to each one.

Examples

Example #1 array_map() example

<?php
function cube($n)
{
    return(
$n $n $n);
}

$a = array(12345);
$b array_map("cube"$a);
print_r($b);
?>

This makes $b have:

 
 Array (     [0] => 1     [1] => 8     [2] => 27     [3] => 64     [4] => 125 ) 

Example #2 array_map() using lambda function (as of PHP 5.3.0)

<?php

/* As of PHP 5.3.0 */

$func = function($value) { return $value 2; };

print_r(array_map($funcrange(15)));

?>
 
 Array (     [0] => 2     [1] => 4     [2] => 6     [3] => 8     [4] => 10 ) 

Examples

Example #3 array_map() - using more arrays

<?php
function show_Spanish($n$m)
{
    return(
"The number $n is called $m in Spanish");
}

function 
map_Spanish($n$m)
{
    return(array(
$n => $m));
}

$a = array(12345);
$b = array("uno""dos""tres""cuatro""cinco");

$c array_map("show_Spanish"$a$b);
print_r($c);

$d array_map("map_Spanish"$a $b);
print_r($d);
?>

The above example will output:

 
 // printout of $c Array (     [0] => The number 1 is called uno in Spanish     [1] => The number 2 is called dos in Spanish     [2] => The number 3 is called tres in Spanish     [3] => The number 4 is called cuatro in Spanish     [4] => The number 5 is called cinco in Spanish )  // printout of $d Array (     [0] => Array         (             [1] => uno         )      [1] => Array         (             [2] => dos         )      [2] => Array         (             [3] => tres         )      [3] => Array         (             [4] => cuatro         )      [4] => Array         (             [5] => cinco         )  ) 

Usually when using two or more arrays, they should be of equal length because the callback function is applied in parallel to the corresponding elements. If the arrays are of unequal length, the shortest one will be extended with empty elements.

An interesting use of this function is to construct an array of arrays, which can be easily performed by using NULL as the name of the callback function

Example #4 Creating an array of arrays

<?php
$a 
= array(12345);
$b = array("one""two""three""four""five");
$c = array("uno""dos""tres""cuatro""cinco");

$d array_map(null$a$b$c);
print_r($d);
?>

The above example will output:

 
 Array (     [0] => Array         (             [0] => 1             [1] => one             [2] => uno         )      [1] => Array         (             [0] => 2             [1] => two             [2] => dos         )      [2] => Array         (             [0] => 3             [1] => three             [2] => tres         )      [3] => Array         (             [0] => 4             [1] => four             [2] => cuatro         )      [4] => Array         (             [0] => 5             [1] => five             [2] => cinco         )  ) 

If the array argument contains string keys then the returned array will contain string keys if and only if exactly one array is passed. If more than one argument is passed then the returned array always has integer keys.

Example #5 array_map() - with string keys

<?php
$arr 
= array("stringkey" => "value");
function 
cb1($a) {
    return array (
$a);
}
function 
cb2($a$b) {
    return array (
$a$b);
}
var_dump(array_map("cb1"$arr));
var_dump(array_map("cb2"$arr$arr));
var_dump(array_map(null,  $arr));
var_dump(array_map(null$arr$arr));
?>

The above example will output:

 
 array(1) {   ["stringkey"]=>   array(1) {     [0]=>     string(5) "value"   } } array(1) {   [0]=>   array(2) {     [0]=>     string(5) "value"     [1]=>     string(5) "value"   } } array(1) {   ["stringkey"]=>   string(5) "value" } array(1) {   [0]=>   array(2) {     [0]=>     string(5) "value"     [1]=>     string(5) "value"   } }