Informatique


Les tableaux

Déclarer, affecter, afficher un tableau

  • La fonction array() permet de déclarer un tableau. Il peut être affecté au moment de la déclaration en indiquant des valeurs séparées par des virgules à l'intérieur des parenthèses de la fonction.
    Pour affecter/afficher le contenu d'une cellule, on utilise le nom du tableau suivi de l'indice de la cellule pris entre crochets
  • En utilisant le suffixe [x] derrière le nom de la variable, x représente un indice ou un nom associatif.
    L'affectation/affichage se fait de façon classique.

Déclarer, affecter, afficher: un tableau classique
Démo
<?php
//déclaration d'un tableau $tab1 avec array()
	$tab1 = array();	
//affectation de 2 cellules de $tab1
	$tab1[0]=3;
	$tab1[1]=9;
//affichage du tableau
	var_dump($tab1);
//Avec echo
	echo $tab1[0],$tab1[1],"<br>";
	
//déclaration d'un tableau $tab2 avec array() et initialisation
	$tab2 = array(4,6,9,15,125,-6,13);
	var_dump($tab2);
//Avec echo
	echo $tab2[0],$tab2[1],$tab2[2]," etc.<br>";

//déclaration d'un tableau $tab3 avec []
	$tab3[0]=2;
	$tab3[1]=2;
	var_dump($tab3);

//déclaration d'un tableau $tab4 avec []
	$tab4[124]="Francisco";
	$tab4[269]=69;
	var_dump($tab4);
?>

Attention, la déclaration $tab[] renvoie une erreur, il est obligatoire de spécifier un indice de cellule.

Déclarer, affecter, afficher: un tableau associatif
Démo
<?php
//Déclaration et affectation du tableau associatif $membre_45
	$membre_45= array("nom"=>"vdv","prenom"=>"louis","adresse"=>"rue php 35");
//Affichage d\'un élément du tableau $membre_45
	var_dump($membre_45);
//Avec echo
	echo $membre_45["nom"].", ".$membre_45["prenom"]. ", ".$membre_45["adresse"];
?>
Déclarer, affecter, afficher: un tableau multidimenssionnel
Démo
<?php
//Déclaration et affectation du tableau multidimensionnel $characters
$characters = array(
	array("nom"=>"Bob",
			"profession"=>"super héro",
			"age"=>30,
			"specialite"=>"vision rayons X"),
	array("nom"=>"Sally",
			"profession"=>"super héro",
			"age"=>24,
			"specialite"=>"force surnaturelle"),
	array("nom"=>"Mary",
			"profession"=>"voyou espiègle",
			"age"=>63,
			"specialite"=>"technologie microscopique")
				);
//Affichage
var_dump($characters);
//Avec echo
echo($characters[0]["profession"]);//affiche super héro
?>

Parcourir un tableau

Les boucles permettent de parcourir les tableaux afin d'affecter/afficher des valeurs aux/des tableaux.

La méthode count()

count compte tous les éléments d'un tableau ou d'un objet

Syntaxe
	int count ( mixed $array_or_countable)
	
Pour tous les tableaux, for et while
Démo
<?php
	$tab= array(4,5,8,125,8);
	for($i=0;$i<count($tab);$i++) {
		echo "$tab[$i]"."<br>";
	}
?>
Démo
<?php
	$tab= array(4,5,8,125,8);
	$i=0;			
	while($i<count($tab))	{
		echo "$tab[$i]"."<br>";
		$i++;			
		}
?>
Pour les tableaux associatifs: foreach
Démo
<?php
	$membre_45=array("nom"=>"vdv","prenom"=>"louis","adresse"=>"rue php 35");
	foreach ( $membre_45 as $key=>$val)	{
		echo "$key = $val<br>";
		}
?>
Pour les tableaux multidimensionnels: foreach
Démo
<?php
$characters = array (
		array ( 
			"nom"=>"Bob",
			"profession"=>"super héro",
			"age"=>30,
			"specialite"=>"vision rayons X" 
			),
		array ( 
			"nom"=>"Sally",
			"profession"=>"super héro",
			"age"=>24,
			"specialite"=>"force surnaturelle"
			),
		array (
			"nom"=>"Mary",
			"profession"=>"voyou espiègle",
			"age"=>63,
			"specialite"=>"technologie microscopique"
			)
		);
foreach ( $characters as $val ){
	foreach ( $val as $key=>$final_val ){
		echo "$key: $final_val<br>";
		}
}
?>

explode(), pour transformer une chaîne en tableau(x)

explode coupe une chaîne en tableaux

Syntaxe
	array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )
	

Cette méthode utilise 3 paramètres:

  • delimiter, le séparateur
  • string, la chaîne initiale.
  • limit
    • si limit est défini et positif, le tableau retourné contient, au maximum, limit éléments, et le dernier élément contiendra le reste de la chaîne
    • si le paramètre limit est négatif, tous les éléments, excepté les -limit derniers éléments sont retournés
    • si limit vaut zéro, il est traité comme valant 1

Démo
<?php
	$carac="J’ai envie de suggérer l’hypothèse selon laquelle la faible participation des femmes
	sur la scène politique serait le simple mépris qu’elles en ont. Desproges.";
	$tab=explode(" ",$carac);
	for($i=0;$i<count($tab);$i++){
		echo $tab[$i]."<br>";
	}
?>

implode(), pour transformer un tableau en une chaîne

implode rassemble les éléments d'un tableau en une chaîne

Syntaxe
	string implode ( string $glue , array $pieces )
	

Cette méthode utilise 2 paramètres:

  • glue, le séparateur au sein de la nouvelle chaîne
  • array, le tableau.

Démo
<?php
$tab=array("Plus","je","connais","les hommes,","plus","j’aime","mon chien.","Plus",
"je","connais","les femmes, moins","j’aime","ma chienne.","Desproges");
$carac=implode(" ",$tab);
echo $carac;
?>