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_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filterFiltre les éléments d'un tableau grâce à une fonction utilisateur

Description

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

Évalue chaque valeur du tableau array en les passant à la fonction utilisateur. Si la fonction utilisateur retourne TRUE, la valeur courante du tableau array est retournée dans le tableau résultant. Les clés du tableau sont préservées.

Liste de paramètres

array

Le tableau à évaluer

callback

La fonction utilisateur à utiliser

Si aucune fonction utilisateur n'est fournie, toutes les entrées du tableau array valant FALSE (voir la conversion en booléen) seront effacées.

flag

Drapeau indiquant quels sont les arguments à envoyer au paramètre callback :

  • ARRAY_FILTER_USE_KEY - ne passer que la clé comme seul argument à callback au lieu de la valeur
  • ARRAY_FILTER_USE_BOTH - passer à la fois la valeur et la clé comme arguments de callback au lieu de la valeur

Valeurs de retour

Retourne le tableau filtré.

Historique

Version Description
5.6.0 Ajout du paramètre optionnel flag et des constantes ARRAY_FILTER_USE_KEY et ARRAY_FILTER_USE_BOTH

Exemples

Exemple #1 Exemple avec array_filter()

<?php
function odd($var)
{
    
// retourne lorsque l'entrée est impaire
    
return($var 1);
}

function 
even($var)
{
    
// retourne lorsque l'entrée est paire
    
return(!($var 1));
}

$array1 = array("a"=>1"b"=>2"c"=>3"d"=>4"e"=>5);
$array2 = array(6789101112);

echo 
"Impair :\n";
print_r(array_filter($array1"odd"));
echo 
"Pair :\n";
print_r(array_filter($array2"even"));
?>

L'exemple ci-dessus va afficher :


Impair :

Array

(

    [a] => 1

    [c] => 3

    [e] => 5

)

Pair :

Array

(

    [0] => 6

    [2] => 8

    [4] => 10

    [6] => 12

)

Exemple #2 Exemple avec array_filter() sans fonction utilisateur

<?php

$entry 
= array(
             
=> 'foo',
             
=> false,
             
=> -1,
             
=> null,
             
=> ''
          
);

print_r(array_filter($entry));
?>

L'exemple ci-dessus va afficher :


Array

(

    [0] => foo

    [2] => -1

)

Exemple #3 Exemple avec array_filter() et flag

<?php

$arr 
= ['a' => 1'b' => 2'c' => 3'd' => 4];

var_dump(array_filter($arr, function($k) {
    return 
$k == 'b';
}, 
ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v$k) {
    return 
$k == 'b' || $v == 4;
}, 
ARRAY_FILTER_USE_BOTH));
?>

L'exemple ci-dessus va afficher :


array(1) {

  ["b"]=>

  int(2)

}

array(2) {

  ["b"]=>

  int(2)

  ["d"]=>

  int(4)

}

Notes

Attention

Si le tableau est modifié depuis la fonction utilisateur (e.g. des éléments sont ajoutés, effacés ou réinitialisés), le comportement de cette fonction est indéfini.

Voir aussi

  • array_map() - Applique une fonction sur les éléments d'un tableau
  • 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

Exemples d'utilisation