sql >> Database >  >> RDS >> Mysql

PHP/MySQL - Naam van variabele verhogen naar lus voor gegevens

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++;
}


  1. Query's uitvoeren op grote dataset op Join (15+ miljoen rijen)

  2. Databasestructuur met dynamische velden

  3. Hoe de kolom met statische waarden te selecteren?

  4. mysql verandert unieke sleutel in primair (mariadb)