Wątek przeniesiony 2014-01-24 08:39 z PHP przez dzek69.

Funkcje: Nie wykonuje się funkcja

0

Mam oto taki kod

function foo(){
	$kostka["F"][7]=$kostka["B"][3];
	$kostka["F"][8]=$kostka["B"][2];
	$kostka["F"][9]=$kostka["B"][1];
}
foo();

I za chiny mi on nie chce działać
Jeżeli wywołuje to co jest w funkcji manualnie to działa.
Proszę o poprawienie

0

a skąd ta funkcja ma wiedzieć co to jest kostka?

albo przekaz kostke w parametrze funkcji (rekomendowane) albo "global $kostka;" w funkcji (jak jestes fanboyem zmiennych globalnych)

0

Funkcja zapewne sie wykonuje, lecz w jej ciele jest blad. Jezeli chcesz, aby PHP wyswietlal ci bledy, umiesc na gorze skryptu linie:

error_reporting(E_ALL);

W tym przypadku zmienna $kostka ktora ma byc tablica - nie zostala wczesniej zainicjowana. A konkretnie brak w niej klucza B itp.

0

EDIT-> Już wiem o co chodziło. Wystarczyło dodać global $kostka; DZIĘKI WSZYSTKIM ZA POMOC

Podałem tylko fragment kodu tablica kostka jest ustawiona. Tak jak napisałem coś musi być nie tak w funkcji.
Aha i dodaniu error reporting wyskakuje ze jest nie zdefiniowana zmienna kostka a jest.

Zawartość tablicy kostka

Array
(
    [F] => Array
        (
            [1] => 0
            [2] => 0
            [3] => 0
            [4] => 0
            [5] => 0
            [6] => 0
            [7] => 0
            [8] => 0
            [9] => 0
        )

    [B] => Array
        (
            [1] => 1
            [2] => 1
            [3] => 1
            [4] => 1
            [5] => 1
            [6] => 1
            [7] => 1
            [8] => 1
            [9] => 1
        )

    [U] => Array
        (
            [1] => 3
            [2] => 3
            [3] => 3
            [4] => 3
            [5] => 3
            [6] => 3
            [7] => 3
            [8] => 3
            [9] => 3
        )

    [D] => Array
        (
            [1] => 2
            [2] => 2
            [3] => 2
            [4] => 2
            [5] => 2
            [6] => 2
            [7] => 2
            [8] => 2
            [9] => 2
        )

    [R] => Array
        (
            [1] => 4
            [2] => 4
            [3] => 4
            [4] => 4
            [5] => 4
            [6] => 4
            [7] => 4
            [8] => 4
            [9] => 4
        )

    [L] => Array
        (
            [1] => 5
            [2] => 5
            [3] => 5
            [4] => 5
            [5] => 5
            [6] => 5
            [7] => 5
            [8] => 5
            [9] => 5
        )

) 
1

GLOBALE TO WIELKIE ZŁO!!!!!!!!!!!!!!!!!!!!!!!!!!!

zrób to tak:

function foo($kostka) {
  $kostka[666]=10;
}


$kostka[11] = 'jedenascie';
$kostka = foo($kostka);

var_dump($kostka);

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