Web s tržbou 1,5 - 2,5 milionu Kč ročně na prodej
Téma zamknuto
Zobrazují se odpovědi 1 až 3 z 3

static proměnná v PHP

  1. PHP kód:
    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)

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. Citace Původně odeslal vojta.rylko Zobrazit příspěvek
    PHP kód:
    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:
    PHP kód:
    function uid() {
      static 
    $id 1;
      return 
    $id++;
    }
    uid();
    uid();
    uid(); 
    vrati za sebou 1 2 3

  4. Díky, reputace+

Téma zamknuto

Podobná témata

  1. Přenos proměnných
    By Histler in forum PHP
    Odpovědí: 6
    Poslední příspěvek: 14.01.2009, 19:54
  2. Odpovědí: 9
    Poslední příspěvek: 01.09.2008, 23:54
  3. odeslání proměnné do nového okna
    By bolis in forum Javascript
    Odpovědí: 5
    Poslední příspěvek: 29.05.2008, 18:16
  4. Je proměnná definována?
    By pkotala in forum PHP
    Odpovědí: 4
    Poslední příspěvek: 14.01.2008, 21:28
Hostujeme u Server powered by TELE3