U kunt dit doen met complexe uitdrukkingen (accolades {}
) rond een variabelenaam.
if(empty(${"player$i"})) {
//player$i is empty
}
Met complexe expressies kunt u variabelenamen dynamisch instellen.
Om je te helpen beter te begrijpen hoe deze werken, zal ik je laten zien dat je deze ook kunt gebruiken, net als gewone tekenreeksen, zoals zo
$variable = "many test";
echo "this is a test echo. {$variable}";
Ik gebruik dit vaak voor het genereren van een variabele voor veel arrayvariabelen op basis van hun sleutel
$array = array("key1" => "value1", "key2" => "value2");
foreach($array as $key => $value) {
${$key} = $value;
}
De bovenstaande code zou 2 variabelen creëren, $key1
en $key2
, met de bijbehorende waarde.
Als alternatief ben ik er vrij zeker van dat je gewoon nog een $
. kunt toevoegen naar de voorkant van je variabele, maar ik zou zeggen dat dit moeilijker te lezen is en erachter te komen wat er aan de hand is.
$playercheck = "player"+$i;
if($$playercheck != 0) {
$playerspicked++;
}