Chapitre 3 : Les tableaux
Les tableaux :
- leur rôle
- leur utilisation
- Création
- Tableau indexé et tableau associatif
Tableau indexé
<?php $array = [5,"est","un","entier"]; var_dump($array); ?>
Produit le résultat :
array (size=4) 0 => int 5 1 => string 'est' (length=3) 2 => string 'un' (length=2) 3 => string 'entier' (length=6)
Tableau associatif
<?php
$array = [
"foo" => "bar",
"bar" => "foo"
];
var_dump($array);
?>
Produit le résultat :
array (size=2) 'foo' => string 'bar' (length=3) 'bar' => string 'foo' (length=3)
Tout tableau est associatif
<?php
$array=[
"foo" => "bar",
"bar" => "foo",
1=>"indexé"
];
var_dump($array);
?>
Produit le résultat :
array (size=3) 'foo' => string 'bar' (length=3) 'bar' => string 'foo' (length=3) 1 => string 'indexé' (length=7)
- Manipulations
- Ajout d'éléments
<?php $array=[]; $array[]="indexé"; $array["foo"]="bar"; $array["bar"]="foo"; var_dump($array); ?>
Produit le résultat :
array (size=3) 0 => string 'indexé' (length=7) 'foo' => string 'bar' (length=3) 'bar' => string 'foo' (length=3)
- Accès à un élément
<?php echo $array["foo"]; echo $array[0]; ?>
- Suppression d'éléments
Suppression d'un élément à partir de l'index 2 :
<?php $array=[]; $array[]="pos 1"; $array["foo"]="bar"; $array["bar"]="foo"; $array[]="pos 2"; $array[]="pos 3"; var_dump($array); array_splice($array, 2, 1); var_dump($array); ?>
array (size=5) 0 => string 'pos 1' (length=5) 'foo' => string 'bar' (length=3) 'bar' => string 'foo' (length=3) 1 => string 'pos 2' (length=5) 2 => string 'pos 3' (length=5) array (size=4) 0 => string 'pos 1' (length=5) 'foo' => string 'bar' (length=3) 1 => string 'pos 2' (length=5) 2 => string 'pos 3' (length=5)
Suppression dans un tableau indexé et réindexation :
<?php
$carre=[];
for($i=0;$i<10;$i++){
$carre[]=pow($i,2);
}
var_dump($carre);
?>
array (size=10) 0 => int 0 1 => int 1 2 => int 4 3 => int 9 4 => int 16 5 => int 25 6 => int 36 7 => int 49 8 => int 64 9 => int 81
Suppression de l'élément d'indice 5 (le 6ème élément) :
<?php unset($carre[5]); var_dump($carre); ?>il manque l'indice 5 dans le tableau
array (size=9) 0 => int 0 1 => int 1 2 => int 4 3 => int 9 4 => int 16 6 => int 36 7 => int 49 8 => int 64 9 => int 81
Réindexation :
<?php $carre=array_values($carre); var_dump($carre); ?>
array (size=9) 0 => int 0 1 => int 1 2 => int 4 3 => int 9 4 => int 16 5 => int 36 6 => int 49 7 => int 64 8 => int 81
- Parcours
Tableau indexé : for
$array=["a","b","c"];
for($i=0;$i<count($array);$i++){
echo $array[$i];
}
?>
Tableau associatif : foreach
<?php
$array=[1=>"a",2=>"b","config"=>"ok"];
foreach($array as $k=>$v){
echo($k." : ".$v."<br>");
}
?>
1 : a 2 : b config : ok
<?php
$array=[1=>"a",2=>"b","config"=>"ok"];
foreach($array as $v){
echo($v."<br>");
}
?>
a b ok
- Fonctions
| Fonction | Rôle |
|---|---|
| sizeof | Nombre d'éléments |
| array_keys | Retourne les clés |
| array_values | Retourne les valeurs |