Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Znikająca tablica (zasięg?)
#1
Question 
Cześć,

poniżej prościutki kod, tyle, że nie działa, tj wyświetla pustego <select> (z jednym <option> blank). Wygląda więc, że wewnątrz funkcji tablica $SUBJECTS jest niezdefiniowana... ale jak to możliwe, skoro jest ona definiowana w pętli while najbardziej na zewnątrz, tj tuż pod <? ? Oczywiście tablica jest uzupełniana prawidłowo, sprawdzałem. Nie da się jej natomiast wypisać nawet manualnie wewnątrz funkcji (tj. dodać do ret co jest jednoznaczne). Kod:


Kod:
while($row = mysql_fetch_array($result)) {
        $name = $row["name"];
        if($row["level"] == 'r')
            $name.= " rozszerzony";
        else
            $name.= " podstawowy";
            
            
        $SUBJECTS[$row["id"]] = $name;
    }

    function ShowSubjects() {
        
        $ret =  "<select>";
        
        foreach($SUBJECTS as $id => $name)
            $ret.= "<option value='$id'>$name</option>";
    
        $ret.= "</select>";
        return $ret;
    }
Odpowiedz
#2
pewnie musisz użyć

global $SUBJECTS;

w funkcji bo tak to nie widzi tej zmiennej
Odpowiedz
#3
Nie spodziewałem się, że w php nie widać zmiennych wewnątrz funkcji (definiowane tam gdzie funkcja). Dzięki!
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Problem z tablicą... Damiano 1 2,481 14-11-2012, 19:48
Ostatni post: camelrafal

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl