Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP/MySQL - Incrémentation du nom de la variable pour boucler les données

Vous pouvez le faire avec des expressions complexes (accolades {} ) autour d'un nom de variable.

if(empty(${"player$i"})) {
    //player$i is empty
}

les expressions complexes vous permettent de définir dynamiquement des noms de variables.

Pour vous aider à mieux comprendre leur fonctionnement, je vais vous montrer que vous pouvez également les utiliser comme une concaténation de chaînes normale, comme ceci

$variable = "many test";
echo "this is a test echo. {$variable}";

Je l'utilise couramment pour générer une variable pour de nombreuses variables de tableau en fonction de leur clé

$array = array("key1" => "value1", "key2" => "value2");
foreach($array as $key => $value) {
    ${$key} = $value;
}

Le code ci-dessus créerait 2 variables, $key1 et $key2 , avec la valeur appropriée qui leur est associée.

Alternativement, je suis presque sûr que vous pouvez simplement ajouter un autre $ au début de votre variable, mais je dirais que c'est plus difficile à lire et à comprendre ce qui se passe.

$playercheck = "player"+$i;  
if($$playercheck != 0) {
    $playerspicked++;
}