PHP/Syntaxe du langage (avancé)

Une page de Wikiversité.

< PHP
Syntaxe du langage (avancé)
Chapitre 4
Leçon : PHP
Chap. préc. : Structures de contrôle
Chap. suiv. : Fonctions

En raison de limitations techniques, la typographie souhaitable du titre, « PHP : Syntaxe du langage (avancé)
PHP/Syntaxe du langage (avancé)
 », n'a pu être restituée correctement ci-dessus.

Sommaire

[modifier] Les tableaux

Un tableau est une collection d'objet. En PHP, ces objets n'ont pas forcément le même type (cohabitation entre des entiers, des chaines…). Chaque objet est identifié par une clé (indice).

[modifier] Tableau itératifs

Les clés du tableaux sont des nombres. Par défauts, le premier indice est 0.

Exemple d'utilisation simple:

$tab = array('val1', 'val2', 'val3');
for($i = 0; $i<2; $i++)
  echo $tab[$i];

Ce code affichera les valeurs du tableaux.

En PHP, on peut aussi directement affecter des indices du tableau, comme suis:

$tab[0] = 1;
$tab[99] = 3;


Notez que les indices ne sont pas typés (on pourra indifféremment utiliser $tab[1] et $tab['1'];

[modifier] Tableaux associatifs

Ils fonctionnent de la même manière que les tableaux itératifs, sauf que l'utilisateur en choisit la clé. À chaque clé correspond une valeur (injection).

Voici une exemple de déclaration:

$tab = array('cle1' => 'val1', 'cle2' => 'val2', 'cle3' => 'val3');
 
print $tab['cle2'];   //affichera: val2
 
//parcours du tableau en boucle
foreach($tab as $key=>$value)
 print $key." : ".$value;

La dernière boucle parcours le tableau en affichant d'abord les clés (cle1, cle2, cle3) puis les valeurs (val1, val2…).

[modifier] Fonctions usuelles sur les tableaux

  • count: cette fonction renvoie le nombre d'éléments présent dans le tableau.

Son prototype est: entier count(tableau);

$tab = array(1,2,3,4);
print count($tab); //affiche 4

[modifier] Tableaux multi-dimentionnels

La clé d'un tableau peux pointer sur un second tableau créant ainsi un tableau multi-dimentionnel.

$indiv[] = array('nom' => 'Hubert', 'poste' => 'Gérant', 'Email' => 'hubert@test.com', 'idBureau' => 1);
$indiv[] = array('nom' => 'Jean', 'poste' => 'Réceptionniste', 'Email' => 'reception@test.com', 'idBureau' => 1);
$indiv[] = array('nom' => 'Amélie', 'poste' => 'Président', 'Email' => 'contact@test2.com', 'idBureau' => 2);
$affBureau=1;
foreach($indiv as $no => $data){
        if($data['idBureau']==$affBureau){
                echo $no .'-'. $data['nom'] .' <i>'. $data['poste'] .'</i>: '. $data['Email'] .'<br />';
        }
}

NB: Dans cette exemple, une base de données serait sûrement plus adéquate.

[modifier] Les variables super globales

Ces variables sont prédéfinies à PHP et sont destinées à stocker des informations bien spécifiques. Elles se présentent généralement sous la forme d'un tableau associatif à une ou deux dimensions.

Voici une liste non-exhaustive (comprenant les cas d'utilisation les plus courants):

[modifier] Variables de serveur : $_SERVER

Elle contient des informations sur le serveur (nom, ip, softs installés…)

[modifier] Variables d'environnement : $_ENV

Elle contient des informations sur l'environnement d'exécution du script PHP (c'est-à-dire sur le serveur). Elle est donc directement liée au serveur et à son système.

[modifier] Cookies : $_COOKIE

Elle stocke les informations sur les cookies envoyés aux clients.

[modifier] GET variables : $_GET

Elle stocke les valeurs des arguments passés par URL. Ses clés sont donc par conséquent variables.

[modifier] POST variables : $_POST

Elle stocke les valeurs des informations passées par formulaire. Ses clés sont donc par conséquent variables. Voir le cours sur les formulaires.

[modifier] Variable de téléchargement : $_FILES

Elle stocke les informations sur un fichier envoyé via HTTP par le client. Voir le cours sur les formulaires.

[modifier] Variables de requête : $_REQUEST

Un tableau associatif constitué du contenu des variables $_GET, $_POST, $_COOKIE.

[modifier] Variables de session : $_SESSION

Elle contient les valeurs de la session en cours pour le client.

[modifier] Variables globales : $GLOBALS

Elle stocke les variables globales de la page. Ses clés sont donc variables.

PHP
Structures de contrôle