Liste de fonctions PHP

Liste des fonctions ou structures du langage à connaître

Cette liste est créé au fur et à mesure que nous découvrons ces fonctions dans le cours PHP du CF2m. Vous trouverez des informations complémentaires sur le site php.net


$_ variables superglobales | $_GET | $_POST | $_SESSION | // ou /* */ ou # | <?= ?> | <?php ?> | array() | count() | ctype_digit() | date() | define() | die() ou exit() | do-while() | echo | else | elseif/else if | empty() | explode() | filter_var() | for() | foreach() | function | gettype() | header() | htmlentities() | htmlspecialchars() | html_entity_decode() | if() | include | include_once | in_array() | isset() | is_*() | is_array() | mail() | Modification de types | mt_rand() | mysqli_affected_rows() | mysqli_close() | mysqli_connect() | mysqli_connect_errno() | mysqli_connect_error() | mysqli_errno() | mysqli_error() | mysqli_fetch_all() | mysqli_fetch_assoc() | mysqli_free_result() | mysqli_insert_id() | mysqli_num_rows() | mysqli_query() | mysqli_set_charset() | Portée des variables | print | print_r() | require | require_once | return | session_destroy() | session_start() | settype() | strip_tags() | strlen() | strtolower() | strtotime() | strtoupper() | switch | time() | trim() | unset() | var_dump() | while()

$_ variables superglobales

Les Superglobales sont des variables internes qui sont toujours disponibles, quel que soit le contexte

Plusieurs variables prédéfinies en PHP sont "superglobales", ce qui signifie qu'elles sont disponibles quel que soit le contexte du script. Il est inutile de faire global $variable; avant d'y accéder dans les fonctions ou les méthodes. Les variables superglobales sont :

$GLOBALS

$_SERVER

$_GET

$_POST

$_FILES

$_COOKIE

$_SESSION

$_REQUEST

$_ENV

Liens externes


$_GET

$_GET -- $HTTP_GET_VARS [Obsolète] — Variables HTTP GET

C'est un tableau associatif des valeurs passées au script courant via les paramètres d'URL (aussi connue sous le nom de "query string"). Elle stocke les valeurs des arguments passés par URL. Ses clés sont donc par conséquent variables.

URL: http://example.com/?name=Paul

PHP:

echo 'Bonjour ' . htmlspecialchars($_GET["name"]) . '!';

Liens externes
  • $_GET - $_GET | Manuel de www.php.net
  • GET variables - GET variables | fr.wikiversity.org


$_POST

$_POST -- $HTTP_POST_VARS [Obsolète] — Variables HTTP POST

C'est un tableau associatif qui stocke les valeurs des informations passées par formulaire avec la méthode="post". Ses clés sont donc par conséquent variables. HTML:

form action="" method="post">Nom: input required="" type="text" value="coucou" /> input type="submit" />&nbsp;/form>

PHP:

if (isset($_POST['xxx'])) {

echo $_POST['xxx']; // coucou

}

Liens externes


$_SESSION

$_SESSION -- $HTTP_SESSION_VARS [obsolète] — Variables de session

C'est un tableau associatif des valeurs stockées dans les sessions, et accessible au script courant.

Les sessions sont un moyen simple de stocker des données individuelles pour chaque utilisateur en utilisant un identifiant de session unique. Elles peuvent être utilisées pour faire persister des informations entre plusieurs pages.

Les identifiants de session sont normalement envoyés au navigateur via des cookies de session, et l'identifiant est utilisé pour récupérer les données existantes de la session. L'absence d'un identifiant ou d'un cookie de session indique à PHP de créer une nouvelle session, et génère ainsi un nouvel identifiant de session.

Une session est plus ou moins similaire aux cookies HTTP. Les données d'une session sont cependant stockées sur le serveur et non chez le client, ce qui l'empêche de pouvoir les modifier manuellement, comme il peut le faire pour un cookie.

Liens externes


// ou /* */ ou #

Les commentaires sur une ou plusieurs lignes

Commentaire sur une ligne:

// commentaire sur une ligne

ou

# autre commentaire sur une ligne

Commentaire sur plusieurs lignes:

/* commentaire sur plusieurs lignes,
doit absolument être fermé !
*/

Liens externes


<?= ?>

balise ouvrante dite "courte" pour le echo en PHP

Très utilisé dans les systèmes de templates PHP, il est devenu courant depuis la version 5.4.0 de celui-ci car il est activé par défaut. La balise <?= est toujours disponible indépendamment de la configuration de l'option INI short_open_tag.

<?=$var?>

Vaut

<?php echo $var ?>

Elle permet de séparer complètement le code PHP du code HTML.

Liens externes


<?php ?>

ouverture et fermeture du script php

Lorsque PHP traite un fichier, il cherche les balises d'ouverture et de fermeture () qui délimitent le code qu'il doit interpréter.

De cette manière, cela permet à PHP d'être intégré dans toutes sortes de documents, car tout ce qui se trouve en dehors des balises ouvrantes / fermantes de PHP est ignoré.

Liens externes
  • Balises PHP - Les balises PHP | Manuel de www.php.net


array()

array — Crée un tableau

Un tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs à des clés.

Ce type est optimisé pour différentes utilisations ; il peut être considéré comme un tableau, une liste, etc..

On peut avoir, comme valeur d'un tableau, d'autres tableaux, multidimensionnels ou non. array() est un constructeur de langage utilisé pour représenter littéralement les tableaux, mais ce n'est en aucun cas une fonction régulière.

Tableau indexé

<?php

$a = array("un", "deux", "trois");

echo $a[0]; // "un"
echo $a[1]; // "deux"
echo $a[2]; // "trois"

?>

Tableau associatif

<?php

$a = array(1=>"un", 2=>"deux", "trois"=>"trois");
echo $a[1]; // "un"
echo $a[2]; // "deux"
echo $a["trois"]; // "trois"

?>

Écriture courte

<?php
$a = [1,2,3];
?>

Liens externes


count()

Compte tous les éléments d'un tableau

Compte tous les éléments d'un tableau ou retourne le nombre de propriétés non-statiques pour un objet.

count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int

Si $mode est activé (1 est passé comme paramètre optionnel), count() va compter récursivement les tableaux. C'est particulièrement pratique pour compter le nombre d'éléments d'un tableau multidimensionnel.

$food = array('fruits' = array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// count récursif
echo count($food, COUNT_RECURSIVE); // affiche 8
// count normal
echo count($food); // affiche 2

Liens externes


ctype_digit()

Vérifie qu'une chaîne est un entier

ctype_digit ( string $text ) : bool

ctype_digit() vérifie si tous les caractères de la chaîne text sont des chiffres. Très pratique pour tester des variables $_GET ou $_POST contenant par exemple un id, car les entiers y sont stockés sous forme de chaînes de caractères.

URL: https://www.site.com/?id=5

echo gettype($_GET['id']); // string
// si la variable get est un string contenant un entier numérique non signé
if(ctype_digit($_GET['id']){
$id = (int) $_GET['id']; // int
}

Liens externes


date()

date — Formate une date/heure locale

Retourne une date sous forme d'une chaîne, au format donné par le paramètre format, fournie par le paramètre timestamp ou la date et l'heure courantes si aucun timestamp n'est fourni. En d'autres termes, le paramètre timestamp est optionnel et vaut par défaut la valeur de la fonction time().

echo date("Y-m-d H:i:s"); // l'heure actuelle en datetime
echo date("H:i",1550310053); // donne 9:40

Ne pas confondre avec les multiples objets de type date(), par exemple la classe DateTime. Utilisez la documentation pour l'utilisation des paramètres.

Liens externes


define()

define — Définit une constante

Une constante est un identifiant (un nom) qui représente une valeur simple (ou complexe depuis PHP7).

Comme son nom le suggère, cette valeur ne peut jamais être modifiée durant l'exécution du script.

Par défaut, le nom d'une constante est sensible à la casse. Par convention, les constantes sont toujours en majuscules.

Syntaxe:

define(name, value, case-insensitive)

Les noms de constantes suivent les mêmes règles que n'importe quel nom en PHP. Un nom de constante valide commence par une lettre ou un souligné, suivi d'un nombre quelconque de lettres, chiffres ou soulignés.

<?php

define("TEXTE","Du blabla");
echo TEXTE; // Du blabla

// depuis PHP 7 les tableaux sont acceptés comme valeur
define("TABLEAU", array(1,2,3));

// ! case_insensitive est obsolète et sera supprimée dans la version 8.0.0. de PHP !
define("LULU","Je ne suis pas sensible à la casse",TRUE);
echo lulu; // Je ne suis pas sensible à la casse

?>

Liens externes
  • define - define | Manuel de www.php.net
  • Les constantes - Les constantes - généralités | Manuel de www.php.net


die() ou exit()

Affiche un message et termine le script courant

exit() et son alias die() termine le script courant. Les fonctions d'extinction et les destructeurs d'objets seront toujours exécutés même si exit est appelé. exit et die sont des constructions de langage et peuvent être appelés sans parenthèse si aucun paramètre status n'est passé. Si on souhaite un message d'erreur, on le met généralement entre ()

mysqli_query($link,$sql) or die ("Erreur lors de la requête");

Liens externes
  • exit - exit | Manuel de www.php.net
  • die - die | Manuel de www.php.net


do-while()

La principale différence par rapport à la boucle while est que la première itération de la boucle do-while est toujours exécutée

Les boucles do-while ressemblent beaucoup aux boucles while, mais l'expression est testée à la fin de chaque itération plutôt qu'au début.

La principale différence par rapport à la boucle while est que la première itération de la boucle do-while est toujours exécutée (l'expression n'est testée qu'à la fin de l'itération), ce qui n'est pas le cas lorsque vous utilisez une boucle while (la condition est vérifiée dès le début de chaque itération, et si elle s'avère FALSE dès le début, la boucle sera immédiatement arrêtée).

do { code to be executed; } while (condition);

Pour faire court, le code entre do {} sera toujours exécuté au moins une fois même si la condition entre while() est fausse dès la première itération.

Liens externes


echo

echo — Affiche une chaîne de caractères

Affiche une chaîne de caractères. Affiche tous les paramètres. Aucune nouvelle ligne n'est ajoutée. echo n'est pas vraiment une fonction (c'est techniquement une structure du langage), cela fait que vous n'êtes pas obligé d'utiliser des parenthèses.

echo (contrairement à d'autres structures de langage) ne se comporte pas comme une fonction, il ne peut donc pas être utilisé dans le contexte d'une fonction. De même, si vous voulez passer plusieurs paramètres à echo, les paramètres ne doivent pas être entourés de parenthèses.

<?php
echo "bonjour à tous";
?>

Pour les chaînes de caractères, il faut échapper les doubles et simples guillemets avec l' antislash. Entre les ' ' les variables ne sont pas interprétées, mais elles le sont entre " ".

<?php
$str = "coucou";
echo '$str vous !'; // affiche =--> $str vous !
echo "$str vous !"; // affiche =--> coucou vous !
?>

Liens externes
  • echo - Echo PHP | Manuel de www.php.net
  • echo() - PHP echo() Function | w3schools (en)


else

Structure du langage qui peut suivre un if()

Souvent, vous voulez exécuter une instruction si une condition est remplie, et une autre instruction si cette condition n'est pas remplie.

C'est à cela que sert else. else fonctionne après un if et exécute les instructions correspondantes au cas où l'expression du if est FALSE.

<?php
if (condition) {
  // code exécuté si la condition est true;
} else {
  // code exécuté si la condition est false;
}
?>

 

Liens externes
  • if...else...elseif - PHP 5 if...else...elseif Statements | w3schools (en)
  • else - else | Manuel de www.php.net


elseif/else if

elseif, comme son nom l'indique, est une combinaison de if et de else.

Comme l'expression else, il permet d'exécuter une instruction après un if dans le cas où le "premier" if est évalué comme FALSE.

Mais, à la différence de l'expression else, il n'exécutera l'instruction que si l'expression conditionnelle elseif est évaluée comme TRUE.

L'exemple suivant affichera a est plus grand que b, a est égal à b ou a est plus petit que b

<?php
if ($a > $b) {
  echo "a est plus grand que b";
} elseif ($a == $b) {
  echo "a est égal à b";
} else {
  echo "a est plus petit que b";
}
?>

Liens externes


empty()

Détermine si une variable est vide

empty ( mixed $var ) : bool

Détermine si une variable est considérée comme vide. Une variable est considérée comme vide si elle n'existe pas, ou si sa valeur équivaut à FALSE. Retourne FALSE si var existe et est non-vide, et dont la valeur n'est pas zéro.
Les valeurs ci-dessous sont considérés comme étant vide :

"" (une chaîne vide)
0 (0 en tant qu'entier)
0.0 (0 en tant que nombre à virgule flottante)
"0" (0 en tant que chaîne de caractères)
NULL
FALSE
array() (un tableau vide)

Liens externes
  • empty - empty | Manuel de www.php.net


explode()

explode — Scinde une chaîne de caractères en segments

explode($delimiteur,$chaine,[$option])

- transforme une chaîne en tableau en coupant celle-ci avec le $delimiter.

La fonction PHP explode vous permet de prendre une chaîne et la couper en petits morceaux, comme si vous mettez du TNT dans la chaîne pour l'exploser.

Par exemple, si vous aviez une phrase vous pourriez demander à la fonction explode d'utiliser les espaces de la phrase pour la couper, ce qui ferait exploser la phrase en mots distincts, qui seraient stockées dans un tableau.

<?php

// Exemple
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

?>

Liens externes
  • explode - explode | Manuel de www.php.net


filter_var()

filter_var — Filtre une variable avec un filtre spécifique

filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

$variable

Valeur à filtrer.

$filter

Le filtre à appliquer. Voir les types de filtres.

$options

Tableau associatif d'options ou chaînes d'options.

: mixed

Retourne les données filtrées, ou FALSE si le filtre échoue.

<?php
var_dump
(filter_var('bob@example.com'FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com'FILTER_VALIDATE_URLFILTER_FLAG_PATH_REQUIRED));
?>
 
donnera:
string(15) "bob@example.com"
bool(false)

 

Liens externes
  • filter_var - filter_var | Manuel de www.php.net
  • filter_var() - filter_var | documentation-php.supportduweb.com


for()

For est principalement utilisée pour effectuer une boucle liée à des valeurs numériques

Les boucles for sont les boucles les plus complexes en PHP.

La syntaxe des boucles for est la suivante :

for (expr1; expr2; expr3) commandes

La première expression (expr1) est évaluée (exécutée), quoi qu'il arrive au début de la boucle. Au début de chaque itération, l'expression expr2 est évaluée. Si l'évaluation vaut TRUE, la boucle continue et les commandes sont exécutées.

Si l'évaluation vaut FALSE, l'exécution de la boucle s'arrête. À la fin de chaque itération, l'expression expr3 est évaluée (exécutée).

<?php
// affiche 1 2 3 4 5 6 7 8 9 10
for ($i = 1; $i <= 10; $i++) {
   echo "$i ";
}
?>

Liens externes


foreach()

Foreach est une façon simple de parcourir des tableaux ou les objets

La structure de langage foreach fournit une façon simple de parcourir des tableaux.

foreach ne fonctionne que pour les tableaux et les objets, et émettra une erreur si vous tentez de l'utiliser sur une variable de type différent ou une variable non initialisée.

Il existe deux syntaxes :

foreach (array_expression as $value){ //commandes }

foreach (array_expression as $key => $value){ //commandes }

La première forme passe en revue le tableau array_expression. À chaque itération, la valeur de l'élément courant est assignée à $value et le pointeur interne de tableau est avancé d'un élément (ce qui fait qu'à la prochaine itération, on accédera à l'élément suivant).

La seconde forme assignera en plus la clé de l'élément courant à la variable $key à chaque itération.

Liens externes


function

Les fonctions définies par l'utilisateur

Une fonction est ce que l'on peut appeler un sous programme, une procédure (en cas de non retour de valeur).

On distingue deux types de fonctions : les "fonctions intégrées" ou "built-in" qui sont incluses par défaut avec les distributions de PHP comme print, is_array, etc... et les fonctions définies par le programmeur, dites aussi "fonctions utilisateur".

Une fonction se déclare de la manière suivante :

<?php

function name_fonction ($params1, $params2, $params3, ... ) {
  // code de la fonction
  return ("blabla) ;
}

// exécution de la fonction
echo name_fonction (1, 2, 3);

?>

Elle ne sera exécutée que lors de son appel.

Les noms de fonctions suivent les mêmes règles que les autres labels en PHP. Un nom de fonction valide commence par une lettre ou un souligné, suivi par un nombre quelconque de lettres, de nombres ou de soulignés.

Les arguments peuvent être obligatoires ou facultatifs. Si un renvoie de valeur est effective, avec return (bonne pratique) ou un echo, on parlera bien de fonction. Si aucune valeur n'est envoyée, on parlera de procédure.

Les fonctions en PHP7 ont fortement évoluées ( typage statique en entrée et en sortie )

<?php

// s'attend à une chaîne de caractère en entrée (int) et du texte en sortie (string)
function maFonction(int $value): string {
   ...
   return $value;
}

?>

Liens externes


gettype()

gettype — Retourne le type de la variable

Retourne le type de la variable passée en argument.

Pour vérifier le type de la variable de manière plus ciblée, vous pouvez utiliser les fonctions is_* (comme is_int, is_array etc... en général dans une condition de type if() ).

Les types possibles:

"boolean", "integer", "double" (pour float), "string", "array", "object", "resource", "NULL" ou "unknown type"

<?php
$a = 5; $b = "coucou"; $c = [];
echo gettype($a); // integer
echo gettype($b); // string
echo gettype($c); // array
?>

Liens externes
  • gettype() - gettype | Manuel de www.php.net
  • gettype() - PHP: gettype() function | w3resource (en)


header()

header — Envoie un en-tête HTTP brut

header() permet de spécifier l'en-tête HTTP string lors de l'envoi des fichiers HTML.

header ( string $header [, bool $replace = TRUE [, int $http_response_code ]] ) : void

N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP.

Une erreur très classique est de lire un fichier avec include ou require, et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.

Il y a deux en-têtes spéciaux. Le premier commence par la chaîne "HTTP/" (insensible à la casse), qui est utilisée pour signifier le statut HTTP à envoyer, pour une erreur ou pour un type de fichier.

<?php
header("HTTP/1.0 404 Not Found");
?>

Le deuxième type d'appel spécial est "Location:". Non seulement il renvoie un en-tête au client, mais, en plus, il envoie un statut REDIRECT (302) au navigateur tant qu'un code statut 201 ou 3xx n'a pas été envoyé.

<?php
header("Location: http://www.example.com/"); /* Redirection du navigateur */

/* Assurez-vous que la suite du code ne soit pas exécutée une fois la redirection effectuée. */
exit;
?>

Liens externes


htmlentities()

htmlentities — Convertit tous les caractères éligibles en entités HTML

htmlentities() est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.

C'est un outil essentiel pour la sécurité Si vous voulez réaliser l'opération inverse, vous devez utiliser la fonction html_entity_decode(). Vous pouvez utiliser plusieurs jeux de caractères (voir les liens).

Pour échapper les ' et les ", on ajoute ENT_QUOTES en paramètre (voir les masques (flags) dans les liens):

<?php
$txt = 'L\'écolier me dit "Bonjour à vous!"';
echo htmlentities($txt,ENT_QUOTES); // L&apos;&eacute;colier me dit &quot;Bonjour &agrave; vous!&quot;
?>

 

Liens externes


htmlspecialchars()

htmlspecialchars — Convertit les caractères spéciaux en entités HTML

Certains caractères ont des significations spéciales en HTML, et doivent être remplacés par des entités HTML pour conserver leurs significations. Cette fonction retourne une chaîne de caractères avec ces modifications.

Cette fonction PHP permet un gain de place de stockage, par exemple dans une base de donnée, en protégeant la chaîne tout en convertissant moins de caractères que htmlentities(). Si vous avez besoin que toutes les sous-chaînes en entrée qui sont associées à des entités nommées soient transformées, utilisez la fonction htmlentities().

Les caractères protégés par défaut sont:

& (ET commercial) => &amp;
" (double guillement) => &quote;
' (simple guillemet) => &#039;
< (inférieur à) => &lt;
> (supérieur à) => &gt;

<?php
$txt = 'Un écolier me dit "Bonjour à vous!"';
echo htmlspecialchars($txt); // Un écolier me dit
&quote;Bonjour à vous!&quote;
?>

Vous pouvez utiliser les masques (flags) et les jeux de caractères, tout comme htmlentities (voir dans les liens suivants)

Liens externes


html_entity_decode()

html_entity_decode — Convertit les entités HTML à leurs caractères correspondant

html_entity_decode() est la fonction contraire de htmlentities() ou de htmlspecialchars() : elle convertit les entités HTML de la chaîne string en leurs caractères correspondant.

Vous pouvez utiliser les masques (flags) ainsi que les jeux de caractères, tout comme htmlentities (voir dans les liens suivants)

Liens externes


if()

L'instruction if est une des plus importantes instructions de tous les langages, PHP inclus. Elle permet l'exécution conditionnelle d'une partie de code.

if (expression){ commandes; }

L'expression est convertie en sa valeur booléenne. Si l'expression vaut TRUE, PHP exécutera l'instruction et si elle vaut FALSE, l'instruction sera ignorée.

$var = (expression) ? commandes : commandes alternative;
Une instruction ternaire permet de faire un if / else sur une seule ligne:

$value = <operator> ? <true value> : <false value>

 

Liens externes
  • if() - if() | Manuel de www.php.net
  • if...else...elseif - PHP 5 if...else...elseif Statements | w3schools (en)


include

L'instruction de langage include inclut et exécute le fichier spécifié en argument.

L'instruction de langage include inclut et exécute le fichier spécifié en argument.

Les fichiers sont inclus suivant le chemin du fichier fourni ; si aucun n'est fourni, l'include_path sera vérifié. Si le fichier n'est pas trouvé dans l' include_path, include vérifiera dans le dossier du script appelant et dans le dossier de travail courant avant d'échouer.

L'instruction include enverra une erreur de type warning si elle ne peut trouver le fichier; ce comportement est différent de require, qui enverra une erreur de niveau fatal.

<?php

include "menu.php";
echo $monContent
include "menu.php"; // peu être appelé plusieurs fois

?>

Il est important de noter que lorsqu'un fichier est include ou require, les erreurs d'analyse apparaîtront en HTML tout au début du fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour cette raison, le code qui est dans le fichier doit être placé entre les balises habituelles de PHP.

Liens externes


include_once

include_once inclut et évalue le fichier une seule fois

La structure include_once inclut et évalue le fichier spécifié durant l'exécution du script.

Le comportement est similaire à include, mais la différence est que si le code a déjà été inclus, il ne le sera pas une seconde fois, et include_once retourne TRUE.

Comme son nom l'indique, le fichier sera inclut une seule fois. La structure include_once est utilisée de préférence lorsque le fichier va être inclus ou évalué plusieurs fois dans un script, ou bien lorsque vous voulez être sûr qu'il ne sera inclus qu'une seule fois, pour éviter des redéfinitions de constantes, fonctions ou de classes.

Liens externes


in_array()

in_array — Indique si une valeur appartient à un tableau

Cette fonction permet de savoir si une valeur se trouve bien dans la variable de type tableau, si oui elle renvoie true sinon elle renvoie false.

bool in_array ( $recherche, $nom_du_tableau ,$mode=false )

Le troisième paramètre non obligatoire ($mode) permet de vérifier l'égalité de type si mis en "true" :

if (in_array("100", $tab, true)) {
echo "trouvé";
}else{
echo "non trouvé"; => non trouvé
}
?>

Liens externes


isset()

Détermine si une variable est définie et est différente de NULL

isset ( mixed $var [, mixed $... ] ) : bool

Détermine si une variable est définie et est différente de NULL. Si une variable a été détruite avec la fonction unset(), la fonction isset() renverra FALSE. isset() renverra FALSE lors du test d'une variable de valeur NULL.

Notez aussi que le caractère nul ("\0") n'est pas équivalent à la constante PHP. Si plusieurs paramètres sont fournis, alors la fonction isset() retournera TRUE seulement si tous les paramètres sont définis. L'évaluation s'effectue de gauche vers la droite et s'arrête dès qu'une variable non définie est rencontrée.

$var = '';
if (isset($var)) {
  echo 'Cette variable existe, donc je peux l\'afficher.';
}

Liens externes
  • isset - isset | Manuel de www.php.net


is_*()

famille de fonctions qui vérifient le type d'un élément

Cette famille de fonctions vérifie le type d'un élément (variables, objets, ... ) et renvoie true si vrai et false dans le cas contraire.

Ces fonctions sont utilisée dans des conditions (if etc...).

Notez qu'il existe de nombreux autres is_* utilisés pour d'autres types que les variables / objets (is_file, is_dir, is_callable, is_iterable, etc...)

Liste sur les variables et objets:

is_array | Détermine si une variable est un tableau
is_bool | Détermine si une variable est un booléen
is_float | Détermine si une variable est de type nombre décimal
is_int | Détermine si une variable est de type nombre entier
is_null | Indique si une variable vaut NULL
is_numeric | Détermine si une variable est un type numérique
is_string | Détermine si une variable est de type chaîne de caractères
is_object | Détermine si une variable est de type objet

Liens externes
  • is_array() - is_array | Manuel de www.php.net
  • is_bool - is_bool | Manuel de www.php.net
  • is_float - is_float | Manuel de www.php.net
  • is_int - is_int | Manuel de www.php.net
  • is_numeric - is_numeric | Manuel de www.php.net
  • is_string - is_string | Manuel de www.php.net
  • is_object - is_object | Manuel de www.php.net


is_array()

is_array — Détermine si une variable est un tableau

Vérifie si une variable est de type tableau (array) et renvoie true si c'est le cas, false dans le cas contraire

<?php

$var_name=array('A','B','C');
if (is_array($var_name)){
  echo 'est un tableau';
}else{
  echo 'N\'est pas un tableau';
}


?>

Liens externes


mail()

mail — Envoi de mail

Envoie un mail, voir toutes les options sur php.net

mail ( string $to , string $subject , string $message [, mixed $additional_headers [, string $additional_parameters ]] ) : bool

<?php
     $to      = 'personne@example.com';
     $subject = 'le sujet';
     $message = 'Bonjour !';
     $headers = 'From: webmaster@example.com' . "\r\n" .
     'Reply-To: webmaster@example.com' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

     mail($to, $subject, $message, $headers);
 ?>

Liens externes


Modification de types

Modification de types ou transtypage

La modification de types en PHP fonctionne globalement de la même façon qu'en C : le nom du type désiré est écrit entre parenthèses avant la variable à traiter. Les préfixes de conversions sont:

(int), (integer) : modification en integer
(bool), (boolean) : modification en boolean
(float), (double), (real) : modification en float
(string) : modification en string
(array) : modification en array
(object) : modification en object
(unset) : modification en NULL

<?php
$a = "1"; $b = 5; $c = "5pommes"; $d = 1; $e = "coucou";
$a = (int) $a; // 1
$b = (string) $b; // "5"
$c = (int) $c; // 5
$d = (bool) $d; // true
$e = (float) $e; // 0 (en cas d'erreur de conversion)
?>

Liens externes


mt_rand()

mt_rand — Génère une valeur numérique aléatoire

mt_rand — Génère une valeur aléatoire via le générateur de nombre aléatoire Mersenne Twister

mt_rand ( int $min , int $max ) : int

De nombreux générateurs de nombres aléatoires provenant de vieilles bibliothèques libcs ont des comportements douteux et sont très lents. mt_rand() est une fonction de remplacement pour rand().

echo mt_rand(5, 15); // chiffre au hasard de 5 à 15

Liens externes


mysqli_affected_rows()

Retourne le nombre de lignes affectées par la dernière opération MySQL en mode procédural

Retourne le nombre de lignes affectées par la dernière opération MySQL.

Nombre de lignes affectées par la dernière requête INSERT, UPDATE, REPLACE ou DELETE.

Un entier plus grand que zéro indique le nombre de lignes affectées ou recherchées.

Zéro indique qu'aucun enregistrement n'a été modifié par une requête du type UPDATE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été exécutée.

-1 indique que la requête a retourné une erreur.

Style procédural mysqli_affected_rows ( mysqli $link ) : int

mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage --> 50");
echo "Nombre de lignes affectées (UPDATE): ".mysqli_affected_rows($link));

Liens externes


mysqli_close()

Fermeture de connection à mysql en mode procédural

mysqli::close -- mysqli_close — Ferme une connexion

Style procédural mysqli_close ( mysqli $link ) : bool

Les connexions et les jeux de résultats ouverts de facçon non persistents sont automatiquement détruits lorsqu'un script PHP termine son exécution. Aussi, le fait de fermer une connexion et libérer les résultats étant optionnel, le fait de le faire explicitement est néanmoins vivement recommandé. Ceci va retourner les ressources immédiatement à PHP et à MySQL, ce qui va améliorer les performance.

Liens externes


mysqli_connect()

connection à mysql en mode procédural

mysqli::__construct -- mysqli::connect -- mysqli_connect — Ouvre une connexion à un serveur MySQL

PHP:
// connexion
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
// gestion d'erreur
if (!$link) {

// fermeture de connexion mysqli_close($link);
  die('Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}

Liens externes


mysqli_connect_errno()

Retourne le code d'erreur de la connexion MySQL en mode procédural

mysqli_connect_errno — Retourne le code d'erreur de la connexion MySQL, ce qui permet de réaliser d'autres actions suivant l'erreur (changement de DB en cas de "too many connections" par exemple).

Style procédural mysqli_connect_errno ( void ) : int

$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
if (!$link) {
  die('Erreur de connexion numéro : ' . mysqli_connect_errno());
}

Liens externes


mysqli_connect_error()

Retourne le message d'erreur de connexion MySQL en mode procédural

Retourne le message d'erreur de connexion MySQL sous forme de chaîne de caractères.

Style procédural mysqli_connect_error ( void ) : string

$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
if (!$link) {
  die('Erreur de connexion : ' . mysqli_connect_error());
}

Liens externes


mysqli_errno()

Retourne le dernier code d'erreur produit par une requête mysql en mon procédural

Retourne le code erreur pour le dernier appel à une fonction MySQLi qui peut échouer ou réussir en respectant la connexion définie par la paramètre link.

Style procédural mysqli_errno ( mysqli $link ) : int

PHP:
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')")) {
  echo("Errorcode: " . mysqli_errno($con));
}

Liens externes


mysqli_error()

Retourne une chaîne décrivant la dernière erreur mysql en mode procédural

Retourne la chaîne de caractères décrivant l'erreur survenue lors du dernier appel à une fonction MySQLi, que cet appel ait réussi ou échoué.

Style procédural mysqli_error ( mysqli $link ) : string

if (!mysqli_query($link, "SET a=1")) {
  echo "Message d'erreur : ". mysqli_error($link));
}

Liens externes


mysqli_fetch_all()

Lit toutes les lignes de résultats dans un tableau mysqli en mode procédural

mysqli_result::fetch_all -- mysqli_fetch_all — Lit toutes les lignes de résultats dans un tableau

Style procédural mysqli_fetch_all ( mysqli_result $result [, int $resulttype = MYSQLI_NUM ] ) : mixed

mysqli_fetch_all() est un tableau indexé contenant tous les résultats d'une requête et retourne le résultat sous forme d'un tableau associatif, numérique, ou les deux.

PHP:
$con=mysqli_connect("localhost","my_user","my_password","my_db");
$sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
$result=mysqli_query($con,$sql);
// formate les données récupérées (une ou plusieurs lignes) en un tableau indexé dans lequel on met les résultats dans un tableau associatif (MYSQLI_ASSOC)
$result =mysqli_fetch_all($result,MYSQLI_ASSOC);

Liens externes


mysqli_fetch_assoc()

Récupère une seule ligne de résultat sous forme de tableau associatif en mode procédural

Récupère une seule ligne de résultat sous forme de tableau associatif. On peut utiliser cette fonction si on récupère 1 résultat ou aucun (par exemple une connexion utilisateur), ou en utilisant la boucle while() pour lister les résultats tant qu'on en a.

Style procédural mysqli_fetch_assoc ( mysqli_result $result ) : array

$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$result = mysqli_query($link, "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5");
// remplit $row avec chaque ligne de résultats
while ($row = mysqli_fetch_assoc($result)) {
  echo $row["Name"]." ".$row["CountryCode"]."";
}

Liens externes


mysqli_free_result()

Libère la mémoire associée à un résultat MySQL

Libère la mémoire associée à un résultat.

Style procédural mysqli_free_result ( mysqli_result $result ) : void

Les connexions et les jeux de résultats ouverts de facçon non persistents sont automatiquement détruits lorsqu'un script PHP termine son exécution. Aussi, le fait de fermer une connexion et libérer les résultats étant optionnel, le fait de le faire explicitement est néanmoins vivement recommandé. Ceci va retourner les ressources immédiatement à PHP et à MySQL, ce qui va améliorer les performance.

PHP:
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($link, $query);
/* Libération des résultats */
mysqli_free_result($result);
/* Fermeture de la connexion */
mysqli_close($link);

Liens externes


mysqli_insert_id()

Retourne l'identifiant automatiquement généré utilisé par la dernière requête MySQL en mode procédural

La fonction mysqli_insert_id() retourne l'identifiant généré par une requête (généralement INSERT) sur une table avec une colonne possédant l'attribut AUTO_INCREMENT.

Si aucune instruction INSERT ou UPDATE n'a été envoyé grâce à cette connexion, ou si la table modifié ne possède pas de colonne avec l'attribut AUTO_INCREMENT, cette fonction retournera zéro.

Style procédural mysqli_insert_id ( mysqli $link ) : mixed

PHP:
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);
echo "Le nouvel enregistrement a l'id : ",.mysqli_insert_id($link));

Liens externes


mysqli_num_rows()

Retourne le nombre de lignes dans un résultat mysql en mode procédural

Retourne le nombre de lignes dans un résultat mysql au format integer (nombre entier). Retourne 0 si il n'y a aucun résultat. Cette fonction est utilisée pour les SELECT.

Style procédural mysqli_num_rows ( mysqli_result $result ) : int

PHP:
$result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name");
$row_cnt = mysqli_num_rows($result); // contient le nombre de résultats de notre SELECT

Liens externes


mysqli_query()

Exécute une requête sur la base de données mysql en mode procédural

mysqli::query -- mysqli_query — Exécute une requête sur la base de données

Style procédural mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] ) : mixed

$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")

La variable $result n'est nécessaire qu'en cas de récupération de données.

Liens externes


mysqli_set_charset()

Définit le jeu de caractères par défaut mysql en mode procédural

mysqli::set_charset -- mysqli_set_charset — Définit le jeu de caractères par défaut du client Définit le jeu de caractères par défaut à utiliser lors de l'envoi de données depuis et vers le serveur de base de données.

Style procédural mysqli_set_charset ( mysqli $link , string $charset ) : bool

Choix de l'utf8 :

PHP:
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
mysqli_set_charset($link, "utf8");

Liens externes


Portée des variables

La portée d'une variable dépend du contexte dans lequel la variable est définie.

La portée d'une variable dépend du contexte dans lequel la variable est définie. Pour la majorité des variables, la portée concerne la totalité d'un script PHP. Mais, lorsque vous définissez une fonction, la portée d'une variable définie dans cette fonction est locale à la fonction.

Par exemple :

PHP: $a = 1; include 'b.inc.php'; // $a est accessible dans le fichier b.inc.php

Dans les fonctions définies par l'utilisateur, une nouvelle définition de cette variable sera donnée, limitée à la fonction. Toute variable utilisée dans une fonction est, par définition, locale. Par exemple :

/* portée globale */
$a = 1;
function test() {
  /* portée locale */
  echo $a;
}
test(); // rien ne s'affiche, la variable $a dans le fonction est locale

On peut changer cet état en utilisant la fonction global ou la variable superglobale $GLOBALS

Liens externes


print

print — Affiche une chaîne de caractères

print n'est pas vraiment une fonction (c'est techniquement une structure de langage).

Cela fait que vous n'êtes pas obligé d'utiliser des parenthèses.

La plus grosse différence avec echo est que print n'accepte qu'un seul argument et retourne toujours 1.

<?php
print("Bonjour le monde");
print "Bonjour le monde"; // print() fonctionne aussi sans les parenthèses
?>

Attention à la concaténation, on peut utiliser le "." comme avec echo, mais pas la ","!

Liens externes
  • print - print | Manuel de www.php.net
  • print() - PHP print() | w3schools (en)


print_r()

print_r — Affiche des informations lisibles pour une variable

print_r() affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible.

C'est un outil de débogage fréquemment utilisé en PHP car plus clair que var_dump() à cause de l’absence des types.

print_r(), var_dump() et var_export() affiche également les propriétés protégées et privées d'un objet. Les membres des classes statiques ne seront pas affichés.

Regardez les liens pour des exemples.

Liens externes
  • print_r - print_r | Manuel de www.php.net


require

require est identique à include mais arrête le script en cas d'erreur

require est identique à include mis à part le fait que lorsqu'une erreur survient, il produit également une erreur fatale de niveau E_COMPILE_ERROR.

En d'autres termes, il stoppera le script alors que include n'émettra qu'une alerte de niveau E_WARNING, ce qui permet au script de continuer.

Voir la documentation de l'instruction include pour en connaître le fonctionnement.

Liens externes


require_once

require_once inclut et évalue le fichier une seule fois avec arrêt du script en cas d'erreur.

L'instruction require_once est identique à require mis à part que PHP vérifie si le fichier a déjà été inclus, et si c'est le cas, ne l'inclut pas une deuxième fois.

Voir la documention de include_once pour plus d'informations concernant le comportement de _once, et ce qui le différencie des instructions sans _once.

Liens externes


return

Retourne une valeur (souvent d'une fonction)

Si appelée depuis une fonction, la commande return termine immédiatement la fonction, et retourne l'argument qui lui est passé.

Notez que puisque return est une structure de langage, et non une fonction, les parenthèses entourant les arguments ne sont pas nécessaires et leur utilisation est découragée.

<?php

function carre($num) {
  return $num * $num;
}
echo carre(4); // Affiche '16'

?>

Liens externes


session_destroy()

session_destroy — Détruit une session

session_destroy ( void ) : bool

session_destroy() détruit toutes les données associées à la session courante. Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session. Pour accéder à nouveau aux variables de session, la fonction session_start() doit être appelée de nouveau.


<?php Initialisation de la session.
// Si vous utilisez un autre nom
// session_name("autrenom")
session_start();

// Détruit toutes les variables de session
$_SESSION = array();

// Si vous voulez détruire complètement la session, effacez également
// le cookie de session.
// Note : cela détruira la session et pas seulement les données de session !
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finalement, on détruit la session.
session_destroy();
?>

Liens externes


session_start()

session_start — Démarre une nouvelle session ou reprend une session existante

session_start() crée une session ou restaure celle trouvée sur le serveur, via l'identifiant de session passé dans une requête GET, POST ou par un cookie.

session_start ([ array $options = array() ] ) : bool

<?php
// page1.php

session_start();

echo 'Bienvenue à la page numéro 1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Fonctionne si le cookie a été accepté
echo '<br /><a href="page2.php">page 2</a>';

// Ou bien, en indiquant explicitement l'identfiant de session
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

Liens externes


settype()

settype — Affecte un type à une variable

settype (&$var , string $type ) : bool

Force le type de la variable $var vers le $type choisi, renvoie TRUE si réussite et FALSE en cas d'échec du transtypage.

Voici la liste du deuxième paramètre pour transtyper une variable :

"boolean" ou "bool", "integer" ou "int", "float" ou "double", "string", "array", "object", "NULL"

<?php
$a = "3hommes"; // string
$b = true;   // booléen

settype($a, "integer"); // $a vaut maintenant 3   (int)
settype($b, "string");  // $b vaut maintenant "1" (string)
?>

Nous utiliserons plus souvent la modification de types, plus simples et plus souples (valeurs autres que FALSE en cas d'échec), sauf dans les cas où le transtypage doit absolument être géré via des conditions, settype() restant le plus à même pour effectuer cette tâche.

Liens externes


strip_tags()

Supprime les balises HTML et PHP d'une chaîne

strip_tags() tente de retourner la chaîne str après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code. Très pratique pour éviter l’insertion de scripts qui pourraient compromettre votre application.

strip_tags ( string $str [, string $allowable_tags ] ) : string

str La chaîne d'entrée. allowable_tags Vous pouvez utiliser ce paramètre optionnel pour spécifier les balises qui ne doivent pas être supprimées.

$text = "<p>Bonjour à <strong>toi</p></strong>";
echo strip_tags($text); // Bonjour à toi

Liens externes


strlen()

strlen — Calcule la taille d'une chaîne

Retourne un numérique contenant la taille de la chaîne string.

<?php
$str = 'abcdef';
echo strlen($str); // 6
?>

Liens externes
  • strlen - strlen | Manuel de www.php.net
  • strlen - strlen | lephpfacile.com


strtolower()

strtolower — Renvoie une chaîne en minuscules

Retourne une chaîne de caractère, après avoir converti tous les caractères alphabétiques en minuscules.

strtolower ( string $string ) : string

On peut utiliser mb_strtolower pour les caractères spéciaux

PHP:
$str = "Marie A Un Petit Agneau Et Elle L'Aime BEAUCOUP.";
$str = mb_strtolower($str);
echo $str; // marie a un petit agneau et elle l'aime beaucoup

Liens externes


strtotime()

strtotime — Transforme un texte anglais en timestamp

La fonction strtotime() essaye de lire une date au format anglais fournie par le paramètre time, et de la transformer en timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 UTC), relativement au timestamp now, ou à la date courante si ce dernier est omis.

Cette fonction accepte des paramètres de type date ou datetime. Chaque paramètre de la fonction utilise le décalage horaire par défaut à moins qu'un décalage horaire y soit explicitement paramétré. Soyez vigilant à ne pas utiliser un décalage horaire différent pour chaque paramètre à moins que ce soit ce dont vous avez besoin.

echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n"; // traite bien les formats de données date, datetime etc...
echo strtotime("2019-12-24"); // 1577163600
echo strtotime("2019-12-24 12:15:15"); // 1577207715

Les exemple vous montre la puissance de la fonction et la facilité qu'elle apporte. Elle ne fonctionne pas si le format entré n'est pas reconnu.

Liens externes


strtoupper()

strtoupper — Renvoie une chaîne en majuscules

strtoupper() retourne string, après avoir converti tous les caractères alphabétiques en majuscules.

strtoupper ( string $string ) : string

Attention, les caractère spéciaux comme le "ç" ne seront pas convertis, pour celà vous pouvez utiliser mb_strtoupper.

PHP:
$str = "Marie A un Petit Agneau, et l'aime fORt.";
$str = strtoupper($str);
echo $str; // MARIE A UN PETIT AGNEAU, ET L'AIME FORT.

Liens externes


switch

L'instruction switch équivaut à une série d'instructions if

L'instruction switch équivaut à une série d'instructions if. En de nombreuses occasions, vous aurez besoin de comparer la même variable (ou expression) avec un grand nombre de valeurs différentes, et d'exécuter différentes parties de code suivant la valeur à laquelle elle est égale. C'est exactement à cela que sert l'instruction switch.

PHP:
if ($i == 0) {
  echo "i égal 0";
} elseif ($i == 1) {
  echo "i égal 1";
} elseif ($i == 2) {
  echo "i égal 2";
}

switch ($i) {
 case 0:
  echo "i égal 0";
  break;
 case 1:
  echo "i égal 1";
 break;
 case 2:
 echo "i égal 2";
 break;
}

Liens externes
  • switch() - PHP switch Statement | w3resource (en)
  • switch - switch | Manuel de www.php.net


time()

time — Retourne le timestamp UNIX actuel

time() retourne l'heure courante, mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT). Permet une gestion précise des dates, pour plus de précision encore, voyez microtime()

$maintenant = time();
$dans7jours = $maintenant + (7 * 24 * 60 * 60);
echo 'Aujourd\'hui : '. date('Y-m-d') ."\n";
echo 'Semaine prochaine : '. date('Y-m-d', $dans7jours ) ."\n";

Liens externes


trim()

Supprime les espaces (ou d'autres caractères) en début et fin de chaîne

Supprime les espaces (ou d'autres caractères) en début et fin de chaîne, est très utilisé pour éviter les erreurs utilisateurs lors de copier/coller de leurs paramètres de connexion, ou éviter le détournement de classement de tri alphabétique.

trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] ) : string

Deux fonctions sœurs : ltrim() - Supprime les espaces (ou d'autres caractères) de début de chaîne. rtrim() - Supprime les espaces (ou d'autres caractères) de fin de chaîne.

Liens externes
  • trim - trim | Manuel de www.php.net


unset()

unset — Détruit une variable

unset ( mixed $var [, mixed $... ] ) : void

unset() détruit la ou les variables dont le nom a été passé en argument var.

Le comportement de unset() à l'intérieur d'une fonction peut varier suivant le type de variable que vous voulez détruire. Si une variable globale est détruite avec unset() depuis une fonction, seule la variable locale sera détruite.

La variable globale gardera la valeur acquise avant l'appel à unset().


<?php
// Destruction d'une seule variable
unset($foo);
// Destruction d'un élément de tableau
unset($bar['quux']);
// Destruction de plusieurs variables
unset($foo1, $foo2, $foo3);
?>

 

Liens externes
  • unset - unset | Manuel de www.php.net


var_dump()

var_dump — Affiche les informations d'une variable

var_dump() affiche les informations structurées d'une variable, y compris son type et sa valeur.

Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.

C'est un outil de débogage fréquemment utilisé en PHP car il donne les types des contenus en plus de leurs valeurs. Regardez les liens pour des exemples.

Liens externes


while()

La boucle while est le moyen le plus simple d'implémenter une boucle en PHP.

L'exemple le plus simple d'une boucle while est le suivant :

while (expression){ commandes }

La signification d'une boucle while est très simple. PHP exécute l'instruction tant que l'expression de la boucle while est évaluée comme TRUE. La valeur de l'expression est vérifiée à chaque début de boucle, et, si la valeur change durant l'exécution de l'instruction, l'exécution ne s'arrêtera qu'à la fin de l'itération (chaque fois que PHP exécute l'instruction, on appelle cela une itération).

De temps en temps, si l'expression du while est FALSE avant la première itération, l'instruction ne sera jamais exécutée. Bien que sa lecture et sa compréhension soient évidentes, cette boucle est, plus souvent que les autres, responsable d'erreurs de type "boucle infinie".

<?php
while ($condition) {
  // instructions
}
?>

Liens externes