Możesz to zrobić za pomocą złożonych wyrażeń (nawiasy klamrowe {}
) wokół nazwy zmiennej.
if(empty(${"player$i"})) {
//player$i is empty
}
złożone wyrażenia pozwalają na dynamiczne ustawianie nazw zmiennych.
Aby pomóc Ci lepiej zrozumieć, jak one działają, pokażę Ci, że możesz ich również używać tak jak zwykłego łączenia ciągów
$variable = "many test";
echo "this is a test echo. {$variable}";
Często używam tego do generowania zmiennej dla wielu zmiennych tablicowych na podstawie ich klucza
$array = array("key1" => "value1", "key2" => "value2");
foreach($array as $key => $value) {
${$key} = $value;
}
Powyższy kod utworzy 2 zmienne, $key1
i $key2
, z odpowiednią wartością z nimi skojarzoną.
Alternatywnie, jestem prawie pewien, że możesz po prostu dodać kolejny $
na początku zmiennej, ale powiedziałbym, że trudniej jest to odczytać i zrozumieć, co się dzieje.
$playercheck = "player"+$i;
if($$playercheck != 0) {
$playerspicked++;
}