Przypisanie globalnej zmiennej w funkcji

0

Witam. Przykładowo mam coś takiego:

$b = array(........);

function n($a)
{
    global $$a[2]; 
}



$ls = n(array(1, 3, $b));

Tylko w funkcji $b nie jest globalne, jak sobie z tym poradzić?, nie mogę wpisać od razu global $b, ponieważ te zmienne są inne i nie wiadomo do końca jakie przesyła array.

0

http://www.php.net/manual/pl/functions.arguments.php
Jeżeli wysyłasz do funkcji jakąś zmienną, to w jej miejsce wklejana jest jest jej wartość i dopiero potem wysyłana. Nazywa się to przesyłaniem parametrów przez wartość. Tzn, jeżeli wywołujesz funkcję

function funkcja($a)
{
  $a =5;
  echo "Inside $a";
}

A następnie wywołasz ją w sposób

$a = 3;
echo "Before $a";
funkcja($a);
echo "After $a";

To zostaną wyświetlone kolejno wartości:

Before 3
Inside 5
After 3

Jeżeli chcesz modyfikować wartość parametrów tak żeby wewnątrz funkcji dało się je na stałe zmienić, musisz skorzystac z referencji. W tym celu odsyłam do linka który podałem na początku posta.

1 użytkowników online, w tym zalogowanych: 0, gości: 1