REFERENCE PHP

dernière mise à jour de la documentation : décembre 2014
.NET | Apache | APC | APD | Tableaux | Aspell | BBCode | BC math | bcompiler | Bzip2 | Calendrier | CCVS | Classes et Objets | Classkit | ClibPDF | COM | Fonctions Crack | ctype | CURL | Cybercash | CyberMUT | Cyrus IMAP | Date/heure | DB++ | DBA | dBase | DBM | dbx | DIO | Dossiers | DOM | DOM XML | enchant | Erreurs | EXIF | Expect | FAM | FDF | Fileinfo | filePro | Système de fichiers | Filter | Firebird/InterBase | Firebird/Interbase (PDO) | FriBiDi | FrontBase | FTP | Fonctions | GeoIP | gettext | GMP | gnupg | gopher | haru | hash | http | Hyperwave | Hyperwave API | i18n | IBM (PDO) | ibm_ db2 | iconv | id3 | Fonctions IIS | Images | Imagick Image Library | IMAP | Informix | Informix (PDO) | Ingres II | Interface IRC | Intégration de Java avec PHP | JSON | kadm5 | LDAP | libxml | Lotus Notes | LZF | Mail | Traitement d'Email | Maths | MaxDB | MCAL | mcrypt | MCVE | Memcache | mhash | Mimetype | Ming (Flash) | Divers | mnoGoSearch | MS SQL Serveur | MS SQL Server (PDO) | Msession | mSQL | Chaînes de caractères multi-octets | muscat | MySQL | MySQL (PDO) | MySQLi | Fonctions ncurses | Réseau | Newt | NSAPI | agrégation d'objets | Surcharge d'objets | OCI8 | ODBC | ODBC et DB2 (PDO) | OGG/Vorbis | openal | OpenSSL | Oracle | Oracle (PDO) | Bufferisation de sortie | OvrimosSQL | Paradox | Parsekit | PCNTL | PCRE | PDF | PDO | phar | Options et informations PHP | POSIX | Regex POSIX | PostgreSQL | PostgreSQL (PDO) | Impressions | Exécution de programmes | PS | Pspell | Fonctions qtdom | radius | Rar | Readline | GNU Recode | RPMReader | runkit | SAM | Satellite | SCA | SDO | SDO DAS XML | SDO-DAS-Relational | Sémaphore | SESAM | Session PgSQL | Sessions | shmop | SimpleXML | SNMP | SOAP | Sockets | spl | SQLite | SQLite (PDO) | ssh2 | statistics | Flux | Chaînes | SVN | SWF | swish | Sybase | TCP Wrappers | Tidy | Tokenizer | Unicode | Fonctions URL | Gestion des variables | Paiement par Verisign | vpopmail | W32api | WDDX | win32ps | win32service | xattr | xdiff | XML | XML-RPC | XMLReader | XMLWriter | XSL | XSLT | YAZ | NIS | Zip | Zlib



array_map

(PHP 4 >= 4.0.6, PHP 5)

array_mapApplique une fonction sur les éléments d'un tableau

Description

array array_map ( callable $callback , array $array1 [, array $... ] )

array_map() retourne un tableau contenant tous les éléments du tableau array1, après leur avoir appliqué la fonction callback. Le nombre de paramètres de la fonction callback doit être égal au nombre de tableaux passés dans la fonction array_map().

Liste de paramètres

callback

La fonction de rappel à exécuter pour chaque élément de chaque tableau.

array1

Un tableau à exécuter via la fonction de callback.

...

Liste des tableaux à exécuter via la fonction de callback.

Valeurs de retour

Retourne un tableau contenant tous les éléments du tableau array1 après avoir appliqué la fonction de callback sur chacun d'eux.

Exemples

Exemple #1 Exemple avec array_map()

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

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

Le contenu de la variable $b sera :


Array

(

    [0] => 1

    [1] => 8

    [2] => 27

    [3] => 64

    [4] => 125

)

Exemple #2 array_map() : utilisation d'une fonction quelconque (depuis PHP 5.3.0)

<?php

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

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

?>

Array

(

    [0] => 2

    [1] => 4

    [2] => 6

    [3] => 8

    [4] => 10

)

Exemple #3 array_map() : utilisation de plusieurs tableaux

<?php
function show_Spanish($n$m)
{
    return(
"Le nombre $n se dit $m en Espagnol");
}

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);
?>

L'exemple ci-dessus va afficher :


// Contenu de $c

Array

(

    [0] => Le nombre 1 se dit uno en Espagnol

    [1] => Le nombre 2 se dit dos en Espagnol

    [2] => Le nombre 3 se dit tres en Espagnol

    [3] => Le nombre 4 se dit cuatro en Espagnol

    [4] => Le nombre 5 se dit cinco en Espagnol

)



// Contenu de $d

Array

(

    [0] => Array

        (

            [1] => uno

        )



    [1] => Array

        (

            [2] => dos

        )



    [2] => Array

        (

            [3] => tres

        )



    [3] => Array

        (

            [4] => cuatro

        )



    [4] => Array

        (

            [5] => cinco

        )



)

Généralement, lors de l'utilisation de plusieurs tableaux, ils doivent être d'égale longueur, car la fonction de rappel est appliquée de manière similaire à tous les tableaux. Si les tableaux sont de tailles inégales, les plus petits seront complétés avec des éléments vides pour atteindre la taille du plus grand.

Une utilisation intéressante de cette fonction est la construction de tableaux de tableaux, facilement réalisée en passant la valeur NULL comme nom de fonction de rappel.

Exemple #4 Création d'un tableau de tableaux

<?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);
?>

L'exemple ci-dessus va afficher :


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

        )



)

Si le tableau en argument contient des clés sous la forme de chaîne de caractères, alors, le tableau retourné contiendra également des clés sous la forme de chaîne de caractères, si et seulement si un seul tableau est passé. Si plusieurs tableaux sont passés comme argument, le tableau retourné aura toujours des clés sous la forme d'entier.

Exemple #5 array_map() - avec des clés sous la forme de chaîne de caractères

<?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));
?>

L'exemple ci-dessus va afficher :


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"

  }

}

Voir aussi

  • array_filter() - Filtre les éléments d'un tableau grâce à une fonction utilisateur
  • array_reduce() - Réduit itérativement un tableau
  • array_walk() - Exécute une fonction fourni par l'utilisateur sur chacun des éléments d'un tableau
  • Informations sur le type callback

Exemples d'utilisation