PHP -définition et manipulation de variables

PHP, comme n’importe quelle langage, utilise des variables pour l’enregistrement de données durant l’exécution d’un script. Nous allons voir ici qu’elles sont elles, comment les utilisez et les règles pour les nommez.PHP est un langage de programmation très populaire, notamment pour le web, il est en effet très intuitifs et flexibles et vous permettra de progresser rapidement si vous êtes un débutant ou de mettre en place des scripts soignés si vous êtes un confirmé. Pour ne citer que deux exemples, vous pouvez trouver le framework « Symfony » et le CMS « WordPress » qui sont réalisés en PHP.

Définition d’une variable

Petite définition

Avant même de commencer à parler de type de variable, nous allons voir comment les définir.

Pourquoi commencer par la définition ? Tout simplement que quelquesoit les type de variable, la définition se passe de la même manière.

Le variable réserve un espace mémoire afin de conserver une valeur jusqu’à la fin de l’exécution du script (une fois le script exécuter, la variable est perdu, pour la garder, vous pourriez passer par une base de données). L’assignation du type de variable se fait de manière dynamique et sans intervention de votre part, en clair, son typage sera fonction de son contenu.

Vous pouvez trouver une petite aide bien plus détaillée sur le site php.net.

Le nommage d’une variable

Ce n’est pas la partie la plus compliquée (enfin si il y en avait dans cette page). Le nommage des variables obéit à quelques règles :

  • par le « $ » tu commenceras. Le nom d’une variable commence systématiquement par le signe « $« .
  • les espaces, tu n’utiliseras pas.
  • le tiret « « , tu oublieras
  • Jamais de chiffres,  tu ne mettras après le « $« .
  • le « _« , tu utiliseras.

Rien de bien compliquer, voici quelques exemples valides et incorrectes :

  • valide :
    • $monNom
    • $_uneVariable
    • $une_autre_variable
    • $jeSuis1Variables
  • incorrecte :
    • $mon Nom (surtout pas d’espace)
    • $-uneVariable (aucun tiret quelque soit sont emplacement)
    • $1_variable (pas de chiffre après le « $« )

Autres points importants et qui peut être la cause d’erreur ou de mauvaise exécution de scripts, les variables sont sensibles à la casse, de ce fait, $mavariable, $MaVariable et $MAVARIABLE sont trois variables différentes.

Assignation par référencement

Nous pourrons trouver une syntaxe qui fait appel à un concept plus abstrait qui est l’assignation par référencement :

<?php
$maVariable = "l'origine";
$uneCopie = &$maVariable;
echo "Je suis ".$uneCopie;
// affichera "Je suis l'origine"
$maVariable = "la modification";
echo "Je suis ".$uneCopie;
// affichera "Je suis la modification"
?>

Nous assignons la valeur de l’adresse de $maVariable à une $uneCopie, de ce fait, en cas de changement de $maVariable, $uneCopie est modifiée.

Les différents types

Nous allons distinguer deux grandes familles de type :

  • les variables primaires
  • les variables secondaires

Cette distinction ne représente pas un ordre hiérarchique mais vous verrez que les variables secondaires reprennent les variables primaires

Les variables primaires

Nous allons appeler les variables primaires, celles qui ne contiennent qu’une information qui peuvent être d’un de ces types suivants :

  • les chaînes de caractères (string), il s’agit de tous les textes, libellés qui n’ont de limite que la mémoire utilisée. Elles sont encadrées par des simples guillemets ou des doubles guillemets (on parlera souvent de simple quote ou double quote. Pour bien distinguer une simple quote faisant partie d’une variable, nous allons devoir l’échapper : $string = "je suis un \"parfait\" exemple";
  • les entiers (int), il s’agit simplement des nombres entiers, sans décimal, ils sont déclarés sans guillemets, $int = 2;
  • les nombres décimaux (float), il s’agit simplement des nombre à virgule, dans la nomenclature anglaise, nous utilisons le point comme séparateur, $float = 2.1;
  • les booléens (bool), cette variable ne peut prendre que deux valeurs « vraie » ou « fausse », en anglais, cela fera true ou false, bien à utiliser sans guillemets, $bool = true;. Il s’agit d’un type très pratique notamment avec les fonctions et les conditions.
  • les variables vides (null), elles servent notamment à initialiser une variable sans lui attribuer un type spécifique, $maVariable = null;

Les variables secondaires

Passons au variables secondaires, vous avez pu constater que les variables précédentes ne contenaient qu’une seule information, nous allons voir 2 variables secondaires. Ces deux sous groupes sont des tableaux, c’est-à-dire une variable qui va contenir plusieurs variables (voire d’autres tableaux).

Nous distinguerons les tableaux indexés et les tableaux associatifs.

Les tableaux indexés

Les tableaux indexés vont contenir une liste de valeurs, ces valeurs sont référencés par rapport à leur place dans la liste. L’indexation commence à 0. La première valeur du tableau se situera donc à l’index 0 :

$legumes = array("haricots","carottes","choux");
echo $legumes[1];
// affichera "carottes"

Pour ajouter une valeur au tableau, nous ferons :

$legumes[] = "tomates";
echo $legumes[3];
// affichera "tomates"

Pour connaitre la taille d’un tabeau (ou le nombre de ces entrées), nous ferons :

echo sizeof($legumes);
// affichera 4

Les tableaux associatifs

A la différence des tableaux indexés où chaque valeur est identifié par un chiffre entier dans l’ordre d’ajout, le tableau associatif permet de mettre une étiquette pour chaque valeur du tableau. La syntaxe est la suivante :

$film = array(
    "titre" => "Pulp Fiction",
    "genre" => "thriller"
    );
echo $film['titre'];
//affichera "Pulp Fiction"

Il également possible d’ajouter des valeurs aux tableaux : $film['realisateur'] = "Quentin Tarantino";

Parcourir un tableau

Je ne vais pas rentrer dans les détails maintenant et vous proposez une solution simple qui fonctionnera pour les deux tableaux :

foreach($film as $cle => $valeur){
   echo $cle." : ".$valeur."<br />";
}
// cela affichera la liste des éléments contenu dans film en indiquant le nom de l'étiquette ($cle) et la valeur.

L’exemple précèdent fonctionnera très bien dans le cas d’un tableau indexé sauf que $cle sera le numéro d’index de la valeur du tableau.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.