Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Tablice wielowymiarowe o zasięgu globalnym



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> PHP
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
nillvo



Dołączył: 10 Cze 2009
Posty: 67

PostWysłany: Wto Kwi 26, 2016 3:42 pm  OP    Temat postu: Tablice wielowymiarowe o zasięgu globalnym Odpowiedz z cytatem Pisownia

W jaki sposób zdefiniować tablice, które będą miały globalny zasięg?

Kod:
$TABLICA[1]["imie"] = "Jan";
$TABLICA[1]["nazwisko"] = "Nowak";
$TABLICA[2]["imie"] = "Marek";

...



Chcę mieć dostęp do danych z $TABLICA w każdym zainkludowanym pliku w indeksie. Szczerze - nie mogę znaleźć nigdzie sposobu na to :(
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Xezis



Dołączył: 03 Cze 2007
Posty: 565
Skąd: Łódź

PostWysłany: Wto Kwi 26, 2016 5:10 pm      Temat postu: Odpowiedz z cytatem Pisownia

Polecam przeczytać: PHP: Variable scope.
_________________
Great minds discuss ideas, average minds discuss events, small minds discuss people.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
nillvo



Dołączył: 10 Cze 2009
Posty: 67

PostWysłany: Wto Kwi 26, 2016 5:23 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dzięki, ale widziałem już ten artykuł. Dalej nie potrafię sobie z tym poradzić.

Dodane przez moderatora (łączenie postów)

Bardzo proszę o pomoc, stoję od doby z projektem przez ten problem. Na żadnym forum nie mogę znaleźć odpowiedzi na to pytanie. Próbowałem global $TABLICA, $GLOBALS['TABLICA'], niestety żadne z tych rozwiązań nie umożliwia dostępu globalnego

Używaj przycisku "zmień" do edycji postów!
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Sro Kwi 27, 2016 3:11 pm      Temat postu: Odpowiedz z cytatem Pisownia

http://php.net/manual/en/reserved.variables.globals.php
_________________
Moje projekty | Endless Horse Run game
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
Hashedone



Dołączył: 23 Sie 2008
Posty: 1179

PostWysłany: Sro Kwi 27, 2016 3:56 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nie wiem jak używałeś $GLOBALS, ale to działa - chyba że masz jakąś skopaną konfigurację serwera (nawet nie wiem czy to można wyłączyć, ale specem od PHP nie jestem). Zgaduję że nadziałeś się na jakiś typowy problem dotyczący zmiennych globalnych ogólnie - na przykład korzystasz z niej w innej kolejności niż Ci się wydaje (najpierw czytasz, a dopiero później zapisujesz odpowiednie dane). Bez fragmentów kodu nic konkretnego Ci nie poradzimy (poza tym, że powiemy: "U mnie działa"), natomiast ode mnie rada - przerób ten kod tak, żeby nie potrzebował zmiennych globalnych. Zmienne globalne są złe w każdym języku nie dlatego że są globalne i brzydko to wygląda, tylko dlatego, że faktycznie powodują problemy (wszystkie wynikają z grubsza z tego, że bardzo trudno je kontrolować, skoro z definicji mogą być zmieniane zawsze i wszędzie).
_________________
"Jeśli profesor będzie wymagał, żeby podczas pisania kodu chodzić po ścianach, to student ma obowiązek chodzić po ścianach, bo inaczej nie zaliczy. Podane informacje dotyczą normalnych sytuacji. Profesorowi pisz jak profesor chce." ~ marcin_an, 2008
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
nillvo



Dołączył: 10 Cze 2009
Posty: 67

PostWysłany: Pią Kwi 29, 2016 9:00 am  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dzięki za odpowiedź. Próbowałem przebudować kod tak aby nie potrzebować globalnych, ale niestety nie widzę alternatywy. Są wygodne i potrzebuje ich. Może nie będę pokazywał w jaki sposób próbowałem ich używać bo to były różne metody. Prosiłbym o zaprezentowanie prawidłowego użycia. Dajmy coś prostego na początek od wielowymiarowych już mnie głowa boli...

Zmienna $NUMER. Jak nadać jej zasięg globalny? Jak przypisać prawidłowo jej wartość, oraz jak odczytać?

Bardzo proszę o pomoc.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Pią Kwi 29, 2016 12:46 pm      Temat postu: Odpowiedz z cytatem Pisownia

Przyjrzyj się temu kodowi:
Kod:
<?php

function a() {
    $GLOBALS['x'] = 'a';
}

function b() {
    global $x;
    $x = 'b';
}

function c() {
    global $x;
    echo $x;
}

a();
c();
echo $x;
b();
c();
echo $x;

_________________
Moje projekty | Endless Horse Run game
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
nillvo



Dołączył: 10 Cze 2009
Posty: 67

PostWysłany: Pon Maj 02, 2016 11:56 am  OP    Temat postu: Odpowiedz z cytatem Pisownia

Dzięki za przykład, działa :)

Z wielowymiarowymi również sobie poradziłem

Kod:
function dodaj_do_tablicy($nr, $klucz, $wartosc) {
    
    $GLOBALS['SLOWA'][$nr][$klucz] = $wartosc;
}

?>
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> PHP Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.10432 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |