Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dostęp do zmiennej zdefiniowanej w funkcji poza funcką
Forum PHP.pl > Forum > Przedszkole
pawel.ad
Może problem banalny, ale nie za bardzo wiem jak zdefiniować problem w Google, bo za każdym razem jak próbuję znaleźć rozwiazanie to wyskakuja mi odpowiedzi z zastosowaniem GLOBAL $a czyli na odwrót(dostęp w funkcji do zmiennej która została zdefiniowana przed funkcją).

Chcę aby poniższy kod poprawnie wyświetlił zmienną b
Kod
function(test) {
$a = 1;
$b = 2;

$suma = $a + $b;

echo $suma;
};

test();
echp $b;      // tu ma się wyświetlić 2


Z góry przepraszam jeżeli pytanie banalne smile.gif
mat-bi
no bo i tak - global

EDIT:

Global umożliwia także wlaśnie tworzenie globalnych zmiennych ze zmiennych w funkcji
pawel.ad
Mógłbyś na przykładzie zasosować?

Coś takiego nie działa:
Kod
function test() {
    $a = 1;
    $b = 2;

    $suma = $a + $b;

    echo $suma;
};

global $b;

test();
echp $b;      // tu ma się wyświetlić 2
mat-bi
A zajrzałeś do manuala, jak podałem ci linka? Tam jest to dokładnie wytłumaczone

Tak BTW masz błąd w kodzie.
pawel.ad
Tak zajrzałem, i nadal zaglądam, ale widzę tylko:
Kod
$a = 1;
$b = 2;

function Suma()
{
    global $a, $b;

    $b = $a + $b;
}

Suma();
echo $b;

Czyli odwrotność tego co ja chcę zrobić.

Próbuję analogicznie:
Kod
function Suma() {
    $a = 1;
    $b = 2;

    $b = $a + $b;
};

Suma();
global $a, $b;
echo $b;

ale nic mi nie wychodzi...
mat-bi
Nie to, dalej masz dobry przykład
pawel.ad
Dzięki, znalazłem
NEO.pl
Przemysl to co chcesz zrobic bo taka metoda to proszenie sie o klopoty. Przekaz sobie zmienna zewnetrzna do funkcji przez referencje (foo(&$b), albo normalnie podstawiaj wynik zwrocony przez funkcje. Nie ruszaj GLOBAL bo bedziesz mial smietnik w kodzie.
Ociu
Temat: Tematyka i zasady panujace na forum Przedszkole
Proponuję poprawić bbcode zanim zamknę Ci temat.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.