YBET Rue Albert 1er, 7 6810 Pin - Chiny Route Arlon - Florenville (/fax: 061/32.00.15 |
Le PHP - MySQL, développer son propre site internet dynamique |
|
YBET informatique | Forum webmaster | Contact |
1. Initialisation d'un tableau. - 2. Utilisation - 3. Nombre de valeurs dans un tableau: count() - 4. Transformation - 5. Impression
Comme dans tous les langages de programmation, un tableau (matrice) permet d'insérer des valeurs dans des cases. Ceci facilite le rassemblement de données, surtout que de nombreuses fonctions en PHP permettent le tri et le filtre sur les données incluses dans ce type de variables. Dans un chapitre suivant, nous les remplacerons par une base de donnée Mysql, mais les tableaux sont souvent utilisées pour de faibles quantités d'informations, surtout que le nombre de bases de données possibles sur un hébergement internet mutualisé est souvent limité à 1 base, en plus d'une limitation éventuelle de taille maximum.
Contrairement aux autres variables de PHP, vous devez initialiser les tableaux avant de les utiliser. Cette fonction se fait par:
<?php // $tableau est la variable de type matrice $tableau = array(); ?> |
Remarquez que nous n'avons pas donné le nombre de colonnes ou de lignes. Un élément du tableau peut être de tout type, y compris un tableau en utilisant différents niveaux d'accolades. Prenons quelques exemple:
$tableau[1] est l'élément 1 du tableau.
$tableau["a"] est l'élément a du tableau.
$tableau["jour-du-mois"] est l'élément jour-du-mois du tableau.
$tableau[$numero] reprend comme paramètre une autre variable en php, ici $numero, qui peut-être incrémenté par exemple
Si l'opérante est une chaîne de texte, elle doit être entre guillemets.
Nous allons par exemple gérer un tableau reprenant le type d'appareil et sont numéro de série.
|
La première partie définit les valeurs du tableau.
La fonction conditionnelle si vérifie si les coordonnées de la variable 1 existe (!isset() est la négation). Si la cellule n'existe pas, il renvoie la valeur FALSE, sinon, il affiche les valeurs.
Voici le résultat:
PC bureau ABV25620 |
La variable $_SERVER vue au chapitre précédant est également un tableau.
Cette partie sera utilisée notamment pour récupérer des valeurs d'une table Mysql
Pour compter le nombre de cellules d'un tableau (en fait le nombre de lignes), nous pouvons utiliser la fonction count()
$tableau=array(); $tableau[1]="valeur 1"; $tableau[2]="valeur 2"; $tableau[2]['tests']="valeur 2"; print(count($tableau)); |
Affichera le nombre 2.
Une remarque, si votre tableau est à 2 dimensions, cette commande affiche uniquement le nombre de lignes.
La fonction implode permet de créer une chaîne de caractères reprenant tous les éléments d'un tableau. A l'inverse, la commande explode permet de créer un tableau à partir d'une chaîne de caractère.
$tableau = array() $chaine=implode("parametre de
séparation",$tableau); $tableau=explode("paramètre de
séparation",$chaine,limit); |
<?php $tableau=array(); $tableau[1]="valeur 1"; $tableau[2]="valeur 2"; $champs=implode(",",$tableau); echo $champs; // affiche valeur 1,valeur 2; ?> |
Dernière petite chose, l'impression du contenu d'un tableau. Dans un programme, ces fonctions sont peu utilisées, par contre, lorsque qu'on debug le programme (donc en cours de programmation), on a souvent besoin de voire si notre développement marche. On reprend le tableau ci-dessus avec ses valeurs.
print_r($tableau); // affiche toutes les cellules du tableau avec leur contenu |
affiche: Array ( [1] => valeur 1 [2] => valeur 2 ), ce qui correspond à valeur1 pour l'élément [1], valeur 2 pour l'élément [2] |
Pas très lisible mais cette commande peut être améliorée
<pre> <?php </pre> |
affiche:
Array ( [1] => valeur 1 [2] => valeur 2 ) |
Mais il y a une autre fonction pour afficher le contenu de ces tableaux: var_dump qui va changer la présentation mais aussi indiquer le nombre de caractères dans chaque cellule:
<?php var_dump($tableau); ?> |
affiche: array(2) { [1]=> string(8) "valeur 1" [2]=> string(8) "valeur 2" } avec le nombre de caractères ... |
On peut de nouveau utiliser <pre> comme commande html
<pre>
<?php
var_dump($tableau);
?>
</pre>
qui affiche les résultats à la suite des autres par
ligne:
array(2) { [1]=> string(8) "valeur 1" [2]=> string(8) "valeur 2" } |
Sur le sujet:
>6. Fonctions PHP spécifiques |
Mise en ligne: 22/12/2008 - Mise à jour 20/03/2012 (ajout impression et découpe, correction erreurs PHP5.3.0)