![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 25.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
Witam. Mam pewien problem z foreach. Napisałem taki oto kod:
Funkcja songId() to:
Niestety, w/w funkcja nie widzi zmiennej $data, podobnie jak pozostałe. Czy wie ktoś, co z tym zrobić? Pozdrawiam, ladovnik Ten post edytował ladovnik 13.02.2011, 13:15:29 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
A co robi funkcja getSongs()?
Nie może widzieć zmiennej $data ponieważ deklaracja o global znajduje się wewnątrz funkcji a tam już jej niem. Zrób
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie może widzieć zmiennej $data ponieważ deklaracja o global znajduje się wewnątrz funkcji A gdzie w takim razie umieściłbyś global? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
W ogóle nie jest potrzebny. Po prostu przekazujesz $data jako parametr do funkcji i tam dalej obrabiasz,
Czyli robisz echo po indeksie nie musisz robić do tego 4 funkcji. Chyba że je potrzebujesz w innym miejscu. A najszybciej to zrobić w ten sposób w ogóle nie używając funkcji:
Zamiast echo można w tym przypadku użyć znak równości.(skrócona notacja) Ten post edytował Zbigizmi 13.02.2011, 16:52:35 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Pytam bardziej ogólnie, nie w kontekście tego wątku.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
W zasadzie najlepiej nigdy, można się bez tego obejść.
A jak już musisz to na samym początku skryptu. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
To nie ja mam problem. Próbuję ci tylko dać do zrozumienia że nie wiesz jak działa global i wprowadzasz autora tematu w błąd
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok, Superguru:)
Pamiętaj, że: Zasięg zmiennej to zakres od miejsca utworzenia do miejsca zniszczenia zmiennej. Zmienne mogą być superglobalne , globalne oraz lokalne. Wszystkie zmienne tworzone poza funkcjami są globalne, a zmienne tworzone w funkcjach mają zasięg lokalny. Jeśli chodzi o to, że odwołania wewnątrz funkcji będą dotyczyły zmiennej globalnych po zadeklarowaniu ich jako takich, to nie jest to dobra praktyka i należy jej unikać. To już lepiej się odwołać przez $_Globals. pozdrawiam Ten post edytował Zbigizmi 13.02.2011, 19:45:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 01:57 |