Tenho filas na tabela de meus teams
chamada player1
, player2
, player3
… player12
. No script PHP eu configurá-los como variables ( $player1
, $player2
…) e quero $player2
los para verificar se eles são NULL
e se eles não devem contar.
Como posso incrementar uma variável em PHP? Eu tentei fazê-lo gosta disto:
<? $playerspicked = 0; for($i = 1; $i
mas isso não funcionaria.
Você pode fazer isso com expressões complexas (suportes curly {}
) em torno de um nome de variável.
if(empty(${"player$i"})) { //player$i is empty }
expressões complexas permitem definir nomes de variables dinamicamente.
Para ajudá-lo a entender melhor como estes funcionam, vou mostrar que você também pode usá-los, assim como concatenação de string regular, assim
$variable = "many test"; echo "this is a test echo. {$variable}";
Costumo usar isso para gerar uma variável para muitas variables 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 variables, $key1
e $key2
, com o valor apropriado associado a elas.
Alternativamente, tenho certeza de que você pode apenas adicionar outros $
para a frente da 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++; }
No seu caso, há uma maneira muito mais fácil de contar todos os jogadores não nulos na equipe.
contagem de eco (array_filter ($ yourTeam));
A function array_filter sem um segundo parâmetro removerá automaticamente as inputs nulas.