Pour déclarer une variable PHP qui conserve sa valeur entre les appels de fonction, vous devez utiliser la déclaration static
.
En PHP, vous pouvez définir une variable static
dans une fonction. Contrairement aux variables normales, une variable static
ne perd pas sa valeur quand l'exécution de la fonction est terminée. Par conséquent, si vous appelez la fonction encore, la variable static
conservera toujours sa dernière valeur.
La déclaration est comme suit :
function myFunction() {
static $var = 0; // initialisée seulement la première fois
echo $var;
$var++;
}
Dans cet exemple, même si la fonction myFunction
est appelée plusieurs fois, la variable $var
est initialisée seulement lors de la première exécution de la fonction et conserve ensuite sa valeur entre les appels.
Il est important de noter que les autres options de la question, public $var;
, global $var;
et persistent $var;
ne sont pas correctes dans le contexte de cette question.
public $var;
est généralement utilisé pour définir des propriétés d'une classe qui peuvent être accessibles de n'importe où. Autrement dit, vous pouvez les accéder à l'intérieur de la classe, de ses instances et même à l'extérieur de la classe.
global $var;
est utilisé pour accéder à une variable globale à l'intérieur d'une fonction.
Quant à persistent $var;
, celui-ci n'est pas valide en tant que déclaration de variable en PHP. La persistance en PHP est généralement réalisée à travers des mécanismes tels que les sessions et les cookies, plutôt que directement dans la déclaration de la variable.
Il est également important de noter qu'utiliser trop de variables statiques peut rendre le code difficile à comprendre et à maintenir, il est donc préférable de les utiliser avec prudence.