<< Retour au sommaire

 

Les variables et les tableaux

 

 

 

Le sommaire :

  1. Introduction.
  2. Les variables locales.
  3. Les variables globales.
  4. Quelques instructions spécifiques aux variables globales.
  5. Les tableaux simples.
  6. Les tableaux associatifs.
  7. Des fonctions de traitement de chaîne de caractères.
  8. Des fonctions de traitement de numériques.
  9. Des fonctions diverses.

 

 

Introduction

 

Une variable est un espace mémoire que l’on utilise pour stocker provisoirement une valeur.

Pour identifier une variable, nous lui donnons un nom symbolique, par exemple, « NomDeFamille ».

En PHP, nous devons créer une variable au moment de sa première utilisation.

Le nom d’une variable PHP commence toujours par le signe $.

Vous devez toujours respecter la casse, c’est-à-dire prendre en considération l’emploi des minuscules et des majuscules dans le nom d’une variable.

 

En relation avec son contenu, une variable a un type.

Si vous affectez une chaîne de caractères à une variable, son type sera string.

Si vous affectez un entier à une variable, son type sera integer.

Si vous affectez un nombre contenant une partie décimale, son type sera double.

 

Dans beaucoup de langages de programmation, nous devons définir le type de la variable au moment de sa déclaration. En PHP, la déclaration est naturelle, elle se fait au moment de sa première affectation.

La variable va donc prendre le type correspondant à la première valeur que vous lui affectée.

Par exemple, si vous utilisez pour la première fois la variable $Age :

$Age = 25 ;

$Age sera très naturellement une variable de type entier, donc integer.

 


Les variables locales

 

Il y a une notion de portée dans les variables.

Une variable locale ne peut être connue que depuis le fichier dans lequel elle est déclarée pour la première fois.

Dès lors que le fichier est refermé, la variable est détruite, et avec elle, son contenu bien sûr…

Dans ce chapitre, je vous présente les variables locales.

Voici un exemple :

 

<?php

// Création de la variable $NomDeFamille

$NomDeFamille = "VERNE"; ?>

 

Ici, nous venons de créer une variable qui s’intitule $NomDeFamille et dont la première lettre de chaque mot est en majuscule.

Nous lui avons affecté une valeur de type chaîne de caractères, donc du texte. Nous devons toujours encadrer la chaîne de caractères par des guillemets, c’est ainsi que la distinction est faite entre le nom d’une variable et une chaîne de caractères.

 

Voici un exemple avec l’instruction Echo :

 

<?php

// Création de la variable $NomDeFamille

$NomDeFamille = "VERNE";

// Affiche la chaîne de caractères « VERNE », donc entre guillemets

echo « VERNE » ;

// Affiche maintenant le contenu de la variable $NomDeFamille, qui affichera VERNE

// ici on n’est pas obligé de placer des guillemets, puisqu’il s’agit d’une variable

echo $NomDeFamille ; ?>

 

Mais attention, dans le paramètre de echo, si vous placez une chaîne de caractères entre apostrophes, vous devez réaliser une opération de concaténation afin de marier cheîne de caractères et variables.

Une variable n’est pas interprétée comme tel lorsqu’elle est introduite dans un texte qui est encadré par des apostrophes…

La concaténation est donc une manière de coller bout à bout plusieurs chaînes de caractères.

Nous devons mettre un point entre les différentes chaînes.

Dans l’exemple qui suit, nous allons rajouter le prénom dans l’instruction Echo.

 

<?php

// création de la variable $NomDeFamille

$NomDeFamille = "VERNE";

// Affiche le contenu de la variable $NomDeFamille, précédé du prénom « Jules »

echo ‘Jules ‘.$NomDeFamille; ?>

 

Bien sûr, ici « Jules » est entre apostrophes puisqu’il ne s’agit pas d’une variable mais d’une chaîne de caractères.

Les valeurs numériques ne doivent pas être placées entre guillemets, voici un exemple :

 

<?php

// création de la variable $NomDeFamille

$NomDeFamille = "VERNE";

// Création de la variable $NombreDeLivres

$NombreDeLivres = 40 ;

// Voici un affichage qui concatène texte et variables

echo ‘Jules ‘.$NomDeFamille.’ a écrit plus de ‘.$NombreDeLivres.’ livres‘; ?>

 

Les variables globales

 

En PHP, les variables globales sont dites « variables de session ».

Elles sont utilisables à partir de toutes les pages du site et conservent leurs valeurs.

Cependant, dès lors que vous souhaitez utiliser les variables à partir d’un fichier, vous devez débuter l’écriture du fichier par la fonction suivante :

<?php SESSION_START(); ?>

Attention de bien écrire cette fonction en majuscule…

 

Les variables globales ont une syntaxe particulière, ici à titre d’exemple, nous allons déclarer la variable NomDeFamille et lui affecter la valeur « VERNE » :

$_SESSION["NomDeFamille"]="VERNE";

 

La syntaxe générale :

$_SESSION["nomvariable"]=valeur;

 

La description :

Nous devons toujours mettre le nom de la variable globale entre guillemets et à l’intérieur des crochets.

$_SESSION est toujours en majuscule.

 

Lorsque depuis un fichier vous souhaitez récupérer les variables globales, vous devez impérativement débuter le code par la fonction suivante :

<?php SESSION_START(); ?>

 

Attention, dans l’instruction echo, vous devez utiliser le point de concaténation afin d’associer chaînes de caractères et variables globales.

echo "Désolé, vous avez perdu à la question numéro ".$_SESSION["NumReponse"];

 

Voici un exemple d’utilisation d’une variable globale dite de SESSION.

 

Vous devez créer 2 fichiers, index.php et suite.php.

 

Voici le contenu du fichier index.php :

 

<?php SESSION_START(); ?>

<html>

<head>

<title> bonjour </title>

</head>

<body>

<h1>à lire attentivement !</h1>

<p>Cette page initialise la variable de SESSION intitulée NomDeFamille.<br>

Validez le lien intitulé Page suivante afin d'afficher le contenu de cette variable dans une autre page.<br></p>

<?php

// déclaration et affectation de la variable de SESSION

$_SESSION["NomDeFamille"] = "VERNE"; ?>

<p><a href="suite.php">Page suivante</a></p>

</body>

</html>

 

Voici maintenant le contenu du fichier suite.php :

 

<?php SESSION_START(); ?>

<html>

<head>

<title> Rebonjour </title>

</head>

<body>

<h1>Résultat</h1>

<br>

<?php

// affichage du contenu de la variable de SESSION

echo "Mon auteur préféré est Jules ".$_SESSION["NomDeFamille"]; ?>

</body>

</html>

 

 


Quelques instructions spécifiques aux variables globales

 

Dans un fichier PHP, si vous souhaitez utiliser les variables globales qui ont été créées antérieurement dans les autres fichiers, vous devez débuter le code par :

<?php SESSION_START(); ?>

 

L’instruction « SESSION_UNREGISTER » permet de détruire une variable globale, voici la syntaxe : 

SESSION_UNREGISTER("NomDeLaVariableASupprimer");

Vous devez écrire cette instruction tout en majuscule et placer le nom de la variable entre guillemets.

A titre d’exemple, voici comment détruire la variable :

$_SESSION[«NomDeFamille»] :

SESSION_UNREGISTER("NomDeFamille");

 

Pour détruire toutes les variables globales en une seule fois, voici l’instruction :

SESSION_UNSET();

A écrire tout en majuscule !

 

Pour vérifier si une variable globale existe, voici la fonction isset, elle retourne vraie si la variable existe, et bien sûr, faux dans le cas contraire :

isset($NomVariableGlobale);

 

 


Les tableaux simples

 

Les variables de type tableaux sont des variables pouvant contenir plusieurs lignes, donc, plusieurs valeurs.

 

Imaginions que nous ayons besoin de mémoriser une lise de noms de familles, nous pourrions alors créer un tableau en mesure de mémoriser toute la liste.

Pour désigner l’un des éléments du tableau, on utilise un indice, par exemple élément 1, élément 2, élément 3 etc.

 

La syntaxe :

$NomDuTableau[indice] = valeur;

Attention, le premier indice est 0.

 

Voici un exemple d’utilisation de tableaux : 

 

<html>

<head>

<title> création d'un tableau</title>

</head>

<body>

<?php

// création du tableau villes

$villes[0] = "PARIS";

$villes[1]= "BORDEAUX";

$villes[2] = "MARSEILLE";

// Affichage des 3 villes contenues dans le tableau villes

echo "J'aime beaucoup $villes[0], $villes[1] et $villes[2] »; ?>

</body>

</html>

 

La fonction count retourne le nombre de ligne du tableau en paramètre.

Cette fonction est très pratique par exemple dans le cadre d’un traitement d’un tableau dans une boucle.

 

Voici un exemple qui affichera le nombre de lignes contenues dans le tableau $Prenom :

<html>

<head>

<title> Obtenir la taille d'un tableau</title>

</head>

<body>

<?php

// création du tableau avec 3 affectations

$Prenom[0] = "Isabelle";

$Prenom[1] = "Nathalie";

$Prenom[2] = "Sophie";

// Affichage du nombre de cases contenues dans le tableau

echo "Le nombre de lignes dans le tableau Prenom est : ".count($Prenom); ?>

</body>

</html>

 

Dans un tableau, vous pouvez affecter plusieurs valeurs en une seule fois par l’intermédiaire de la fonction « array ».

 

La syntaxe :

$NomDuTableau=array(valeur1,valeur2,valeur3,etc.);

 

En reprenant l’exemple précédemment cité, voici maintenant comment affecter directement les 3 villes dans le tableau $villes :

 

<html>

<head>

<title> création d'un tableau</title>

</head>

<body>

<?php

// création du tableau villes

$villes=array("PARIS","BORDEAUX","MARSEILLE");

// Affichage des 3 villes contenues dans le tableau villes

echo "J'aime beaucoup $villes[0], $villes[1] et $villes[2] »; ?>

</body>

</html>

 

La fonction sizeof permet de retourner le nombre d’éléments contenu dans un tableau.

La syntaxe :

$VariableNombreDeLigne = sizeof($NomDuTableau);

 

Maintenant je vous propose de créer un tableau en deux dimensions.

Imaginions que nous ayons besoin d’un tableau pour mémoriser le nom des clients, et pour chacun d’entre eux, son domicile et son age.

 

<html>

<head>

<title> création d'un tableau</title>

</head>

<body>

<?php

// création du tableau clients

$clients[0]["nom"] = "DUPONT";

$clients[0]["domicile"] = "PARIS";

$clients[0]["age"] = 35;

$clients[1]["nom"] = "MARTIN";

$clients[1]["domicile"] = "BORDEAUX";

$clients[1]["age"] = 44;

$clients[2]["nom"] = "DURAN";

$clients[2]["domicile"] = "MARSEILLE";

$clients[2]["age"] = 55;

// Affichage du contenu total du tableau clients

echo "Le client $clients[0]["nom"] habite à $clients[0]["domicile"] et il a

$clients[0]["age"] ans<br>";

echo "Le client $clients[1]["nom"] habite à $clients[1]["domicile"] et il a

$clients[1]["age"] ans<br>";

echo "Le client $clients[2]["nom"] habite à $clients[2]["domicile"] et il a

$clients[2]["age"] ans<br>";

?>

</body>

</html>

 

 


Les tableaux associatifs

 

Les tableaux associatifs est une méthode qui permet d’associer plusieurs tableaux pour un indice qui n’est plus un numéro mais un identifiant clair :

Vous pouvez par exemple créer un premier tableau qui contient les descriptions d’un article, un deuxième tableau qui contient le prix Etc. L’indice pourra alors être le nom de l’article…

 

Voici un exemple qui permet de choisir le nom d’un logiciel dans une liste de 3 logiciels, la validation du bouton associé ouvrira une seconde page affichant la description du logiciel ainsi que les conditions d’acquisition.

 

Si vous souhaitez voir l’exemple en ligne, c’est ici :

Essayer la page >>

 

Pour télécharger les fichiers, c’est ici :

Télécharger l'exemple

 

Voici le code du fichier index.php :

 

<html>

<head>

<title>Sélection d'un logiciel</title>

</head>

<body>

<h1>Liste des logiciels</h1>

<p>Choisissez un logiciel dans la liste puis cliquez sur le bouton "Voir la description"</p>

<form action="AfficheDescription.php" method="post">

<select name="Logiciel">

<option selected>Bloc-Notes</option>

<option>WORDPAD</option>

<option>MICROSOFT-WORD</option>

<input type="submit" value="Voir la description">

</form>

</body>

</html>

 

Voici maintenant le code du fichier AfficheDescriptions :

 

<?php SESSION_START(); ?>

<html>

<head>

<title>Affichage de la description</title>

</head>

<body>

<h1>Description</h1>

<?php

extract($_POST,EXTR_OVERWRITE);

// Affectation des descriptions

$Descriptions["Bloc-Notes"] = "Mini logiciel de prises de notes rapides";

$Descriptions["WORDPAD"] = "Logiciel de traitement de texte de base";

$Descriptions["MICROSOFT-WORD"] = "Logiciel de traitement de texte puissant";

// affectation des conditions d'acquisitions

$Acquisitions["Bloc-Notes"] = "Fourni dans les accessoires du système d'exploitation WINDOWS";

$Acquisitions["WORDPAD"] = "Fourni dans les accessoires du système d'exploitation WINDOWS";

$Acquisitions["MICROSOFT-WORD"] = "Seul ou intégré dans le pack office";

echo "Description du logiciel : ".$Logiciel."<br>";

// Affichage de la description et des droits d'acquisition du logiciel choisi par l'utilisateur

echo $Descriptions[$Logiciel]."<br>";

echo $Acquisitions[$Logiciel]."<br>"; ?>

<p><a href="index.php">Revenir à la page des logiciels</a></p>

</body>

</html>

 


Des fonctions de traitement de chaînes de caractères

 

Strtoupper(chaîne de caractères); 

Retourne la chaîne de caractères passée en paramètre en majuscule.

 

strtolower(chaîne de caractères); 

Retourne la chaîne de caractères passée en paramètre en minuscule.

 

Ucfirst (chaîne de caractères);

Retourne la chaîne de caractères passée en paramètres mais avec la première lettre en majuscule.

 

Trim(Chaîne de caractères);

Retourne la chaîne de caractères passée en paramètres mais en supprimant les espaces à gauche et à droite.

 

substr

extrait une sous chaîne depuis une chaîne passée en paramètre.

La syntaxe :

substr("Chaîne",PositionDépart,Longueur);

La description :

 

Chaîne est le premier paramètre, il concerne la chaîne depuis laquelle l’extraction de la sous chaîne doit être réalisée.

PositionDépart est un entier, il précise le numéro de la position du premier caractère de la sous chaîne à extraire. En partant depuis la gauche, la première position est 0, en partant de la droite, la première position est -1.

Longueur est la taille totale de la sous chaîne à extraire depuis le caractère. 

 

Voici un exemple d’extraction et de concaténation :

<html>

<head>

<title> Extraction d'une chaîne de caractères</title>

</head>

<body>

<h1>Utilisation de la fonction substr</h1>

<p>voici tout d'abord l'affichage des deux variables :</p>  

<?php

// Initialisation de la variable auteur

$Auteur = "Jules VERNE";

// Initialisation de la variable ouvrage

$Ouvrage = "voyage au centre de LA TERRE";

echo "$Auteur a écrit $Ouvrage<br>";

// Maintenant extraction et concaténation

echo substr($Auteur,0,6)." adore les ".substr($Ouvrage,0,6)."s.";

// Le résultat de l'extraction et de la concaténation donnent

// Jules adore les voyages.

?>

</body>

</html>

 

 


Des fonctions de traitement de numériques

 

is_numeric(NomVariable);

Retourne vrai si la variable passée en paramètre est de type numérique.

 

Roud(Valeur); 

Retourne l’entier le plus proche de la valeur passée en paramètre.

 

Ceil(Valeur);

Arrondit à l’entier supérieur.

 

Floor(Valeur);

Arrondit à l’entier inférieur.

 

 


Des fonctions diverses

 

La fonction gettype permet de retourner le type de la variable passée en paramètre.

Les 3 types les plus courants sont :

  1. string pour une chaîne de caractères.
  2. integer pour un entier.
  3. double pour un réel, une valeur décimale.

 

Voici un exemple d’utilisation pour la fonction gettype :

 

<html>

<head>

<title> La fonction gettype</title>

</head>

<body>

<?php

// création des variables

$Nom = "VERNE";

$Age = 25;

$Poids = 40.5;

// Affichage du type des variables

echo "Pour le nom la variabe est de type ".gettype($Nom)."<br>";

echo "Pour l'âge la variable est de type ".gettype($Age)."<br>";

echo "Pour le poids la variable est de type ".gettype($Poids); ?>

 

</body>

</html>

 

Philippe BOULANGER