Array

Définitioncount(array $tab) : int

Retourne le nombre d'éléments du tableau.

1
$liste = ['aa','bbbb','ccc','dd'];
2
$nb = count($liste); // 4

Définitionmax(array $tab), min(array $tab)

Retourne la valeur max ou min du tableau.

Définitionexplode ( string $c , string $s) : array

Transforme une chaîne de caractères en tableau.

$c : caractère de séparation

$s :chaîne de caractères à scinder

1
$chaine = 'a,b,c,d';
2
$tableau = explode(',', $chaine);
3
// ['a', 'b', 'c', 'd']

Définitionimplode( string $c , array $tab) : string

Transforme un tableau en chaîne de caractères.

$c : caractère de séparation

$tab : tableau à fusionner

1
$tableau = ['a', 'b', 'c', 'd'];
2
$chaine = implode(',', $tableau);
3
// 'a,b,c,d'

Définitionarray_sum(array $tab) : int|float

Retourne la somme des nombres d'un tableau.

1
$liste = [1,2,3,4];
2
$nb = array_sum($liste); // 10

Définitionarray_keys(array $a) : array

Retourne un tableau des clés.

1
$liste = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
2
$tableau = array_keys($liste);
3
// ['a','b','c','d']

Définitionarray_values(array $a) : array

Retourne un tableau des valeurs.

1
$liste = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
2
$tableau = array_keys($liste);
3
// [1,2,3,4]

Définitionarray_combine(array $keys, array $values) : array

Retourne un tableau associatif.

$keys : contient les clés.

$values : contient les valeurs.

1
$keys = ['a','b','c','d'];
2
$values = [1,2,3,4];
3
$tableau = array_combine($keys, $values);
4
// ['a'=>1,'b'=>2,'c'=>3,'d'=>4]

Définitionarray_merge(array $a [, array $b, ...]) : array

Fusionne plusieurs tableaux.

En cas de doublon de clés, la deuxième écrase la première.

1
$liste1 = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
2
$liste2 = ['a'=>2,'d'=>1,'e'=>4];
3
$tableau = array_merge($liste1, $liste2);
4
// ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4]

On peut utiliser l'opérateur de décomposition pour fusionner deux tableaux.

1
$liste1 = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
2
$liste2 = ['a'=>2,'d'=>1,'e'=>4];
3
$tableau = [...$liste1, ...$liste2];
4
// ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4]

Définitionarray_slice(array $a, int $offset, int $length) : array

Retourne une partie du tableau.

$a : le tableau.

$offset : l'indice de départ de la récupération. Si négatif l'offset commence de la fin du tableau.

$length : le nombre d'éléments. Si $length n'est pas défini, la recopie va jusqu'au dernier élément.

1
$liste = ['a'=>1,'b'=>2,'c'=>3,'d'=>4];
2
echo array_slice($liste, 2, 2); // ['c'=>3,'d'=>4]
3
echo array_slice($liste, -3, 2); // ['b'=>3,'c'=>4]
4
echo array_slice($liste, 1); // ['b'=>2,'c'=>3,'d'=>4]

Définitionarray_map(callable $callback, array $tab) : array

Applique une fonction sur chaque élément d'un tableau. Génère un nouveau tableau à partir des résultats retournés par la fonction.

callback($v) : fonction de rappel. $v : item du tableau.

$tab : tableau à itérer

1
$liste = ['aa','bbbb','ccc','dd'];
2
$tableau = array_map(function($val){
3
  return strlen($val);
4
}, $liste);
5
// [2, 4, 3, 2]

retourne la longueur de chaque élément du tableau.

Définitionarray_reduce(array $tab, callable $callback, $init) 

Retourne une valeur qui dépend de l'application d'une fonction à chaque élément d'un tableau.

$tab : tableau à itérer

callback($r, $v) : fonction de rappel. $r : valeur de retour, $v :item du tableau.

$init : valeur initiale de $r.

1
$liste = [5, 8, 4,3];
2
$somme = array_reduce($liste, function($resultat, $val){
3
  $resultat += $val;
4
  return $resultat;
5
}, 0);
6
// 20

retourne la somme des éléments de la liste.

résultat est initialisé à 0.

Définitionarray_filter(array $tab, callable $callback, $init) : array

Retourne un tableau filtré à partir d'une fonction de rappel. Le tableau conserve les items pour lesquels la fonction retourne un booléen vrai.

$tab : tableau à filtrer

callback($v) : fonction de rappel. $v : item du tableau.

1
$liste = [5, 8, 4, 3];
2
$tab = array_filter($liste, function($val){  
3
  return $val % 2 == 0;
4
});
5
// [1 => 8, 2 => 4]

retourne les valeurs paires du tableau. Attention les clefs sont conservées.

Si on veut récupérer un tableau indexé « propre », il faut récupérer seulement les valeurs avec la fonction array_values :

1
$liste = [5, 8, 4, 3];
2
$tab = array_values(array_filter($liste, function($val){  
3
  return $val % 2 == 0;
4
}));
5
// [0 => 8, 1 => 4]

Définitionusort(array &$tab, callable $callback) : bool

Trie un tableau à partir d'une fonction de rappel.

Une permutation entre deux éléments est effectuée lorsque la fonction retourne un nombre strictement positif.

&$tab : adresse du tableau à filtrer

$callback : callback($a, $b) : fonction de rappel. $a et $b représentent deux éléments consécutifs.

1
$liste = ['aa','bbbb','ccc','dd'];
2
usort($liste, function($a, $b){  
3
  return strlen($a) < strlen($b) ? -1 : 1;
4
});
5
// ['aa', 'dd', 'ccc', 'bbbb']

Trie le tableau par ordre croissant des longueurs des mots.

Le tableau $liste étant envoyé par adresse, $liste original est trié.

Définitionextract(array $tab)

Génère à partir d'un tableau associatif des variables.

La clé correspondant au nom de la variable et la valeur à la valeur de la variable.

1
$liste = ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4];
2
extract($liste);
3
// $a=2; $b=2; $c=3; $d=1; $e=4;

Définitioncompact(array $tab)

Génère un tableau associatif à partir d'une liste de clés.

1
$a=2;
2
$b=2; 
3
$c=3; 
4
$d=1; 
5
$e=4;
6
$liste = compact(['a','b','c','d','e']);
7
// ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4]

Définitionkey_exists(string key, array $tab) : bool

Retourne si une clé appartient au tableau.

1
$liste = ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4];
2
echo key_exists('a', $liste); // true
3
echo key_exists('f', $liste); // false

Définitionin_array(value, array $tab) : bool

Retourne si une valeur appartient au tableau.

1
$liste = ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4];
2
echo in_array(3, $liste); // true
3
echo in_array(5, $liste); // false

Définitionarray_search(value, array $tab) 

Retourne la première clé qui contient la valeur.

1
$liste = ['a'=>2,'b'=>2,'c'=>3,'d'=>1, 'e'=>4];
2
echo array_search(2, $liste); // 'a'
3
echo array_search(1, $liste); // 'd'
4
echo array_search(5, $liste); // false
5