Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP/MySQL - Incrementando o nome da variável para fazer um loop de dados


Você pode fazer isso com expressões complexas (colchetes {} ) em torno de um nome de variável.
if(empty(${"player$i"})) {
    //player$i is empty
}

expressões complexas permitem que você defina nomes de variáveis ​​dinamicamente.

Para ajudá-lo a entender melhor como eles funcionam, mostrarei que você também pode usá-los da mesma forma que a concatenação de strings regular, assim
$variable = "many test";
echo "this is a test echo. {$variable}";

Eu geralmente uso isso para gerar uma variável para muitas variáveis ​​​​de matriz com base em sua chave
$array = array("key1" => "value1", "key2" => "value2");
foreach($array as $key => $value) {
    ${$key} = $value;
}

O código acima criaria 2 variáveis, $key1 e $key2 , com o valor apropriado associado a eles.

Como alternativa, tenho certeza de que você pode adicionar outro $ para a frente de sua variável, mas eu diria que isso é mais difícil de ler e descobrir o que está acontecendo.
$playercheck = "player"+$i;  
if($$playercheck != 0) {
    $playerspicked++;
}