Zadejte hledaný výraz...

static proměnná v PHP

vojta.rylko
verified
rating uzivatele
(2 hodnocení)
16. 2. 2009 19:02:34
function stati() {
if(TRUE) {
static $i = -1;
} else {
static $i = 50;
}
return $i;
}
echo stati();
echo vypisuje 50
Můžete mi prosím vysvětlit proč? Či mě odkázat na nějaký materiál? (phpnet nepomohlo)
16. 2. 2009 19:02:34
https://webtrh.cz/diskuse/static-promenna-v-php/#reply237153
megi
verified
rating uzivatele
(3 hodnocení)
16. 2. 2009 19:45:04
Napsal vojta.rylko;216558
function stati() {
if(TRUE) {
static $i = -1;
} else {
static $i = 50;
}
return $i;
}
echo stati();
echo vypisuje 50
Můžete mi prosím vysvětlit proč? Či mě odkázat na nějaký materiál? (phpnet nepomohlo)
Staticke promene ignoruji tok programu pri prirazeni vychozi hodnoty. To prirazeni se deje pri parsovani tela funkce, ne pri vykonavani kodu. V tvem pripade je to 50, protoze to je posledni vychozi hodnota staticke promena s nazvem 'i', na kterou parser narazil pri parsovani tela funkce.
treba:
function uid() {
static $id = 1;
return $id++;
}
uid();
uid();
uid();
vrati za sebou 1 2 3
16. 2. 2009 19:45:04
https://webtrh.cz/diskuse/static-promenna-v-php/#reply237152
vojta.rylko
verified
rating uzivatele
(2 hodnocení)
16. 2. 2009 21:22:49
Díky, reputace+
16. 2. 2009 21:22:49
https://webtrh.cz/diskuse/static-promenna-v-php/#reply237151
Pro odpověď se přihlašte.
Přihlásit