Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP/MySQL - Inkrementieren des Variablennamens für die Datenschleife

Dies können Sie mit komplexen Ausdrücken (geschweifte Klammern {} ) um einen Variablennamen.

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

komplexe Ausdrücke erlauben es Ihnen, Variablennamen dynamisch zu setzen.

Um Ihnen zu helfen, besser zu verstehen, wie diese funktionieren, zeige ich Ihnen, dass Sie diese auch wie eine normale Zeichenfolgenverkettung verwenden können

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

Ich verwende dies häufig, um eine Variable für viele Array-Variablen basierend auf ihrem Schlüssel zu generieren

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

Der obige Code würde 2 Variablen erstellen, $key1 und $key2 , mit dem entsprechenden Wert, der ihnen zugeordnet ist.

Alternativ bin ich mir ziemlich sicher, dass Sie einfach ein weiteres $ hinzufügen können an den Anfang Ihrer Variablen, aber ich würde sagen, das ist schwerer zu lesen und herauszufinden, was los ist.

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