to moze w ramach pomocy Twoj kod z kometarzami:
<?php
//funkcja zwraca losiwa liczbe calkowita z zakresu od 1 do 7
function losowa_liczba()
{
$losowa_liczba = rand(1
,7
); return $losowa_liczba;
}
array($tablica); //tworzysz tablice, ktorej zawartoscia jest NULL bo zmienna $tablica nie zostala zainicjowana //nigdzie nie zapisujesz wyniku operacji. linijka nizej zapamietuje to co zrobiles
$twojaTablica = array($tablica); var_dump($twojaTablica); //jak widac utworzyles tablice z jednym elementem NULL
losowa_liczba(); //wywolujesz funkcje ktora zwraca losowa liczbe ale nigdzie nie zapamietujesz ani nawet go nie wyswietlasz
//ponizej przyklad:
$wylosowanaLiczba = losowa_liczba(); //zapisanie wyniku dzialania funkcji do zmiennej
var_dump($wylosowanaLiczba); //wypisanie zapamietanej linijke wczesniej liczby
if(!in_array(losowa_liczba
(), $tablica)) //nie dziala bo zmienna $tablica nie jest nawet tablica tylko NULLem co mozna wyczytac wprost z warning: in_array() expects parameter 2 to be array, null given - drugi parametr ma byc tablica, a jest null {
$tablica = implode(',',losowa_liczba
()); //tutaj juz nie mam pojecia co chciales osiagnac, ale musisz sobie zdawac sprawe ze kazde wywolanie funkcji losowa_liczba() zwraca nowa losowa liczbe. jesli chcesz wylosowac raz musisz zapisac wynik dzialania funckji do zmiennej i uzywac tej zmiennej tak jak pokazalem wyzej //po drugie implode laczy w jeden string (tutaj oddzielony przecinkami) elementy tablicy podany jako 2 argument (Ty podajesz liczbe) co jest sygnalizowane przez warning: [function.implode]: Invalid arguments passed - podano nieprawidlowe parametry
}
//jesli dobrze rozumiem to chcesz osiagnac w wyniku tablice ktora posiada liczby od 1 do 7 w nieuporzadkowwnaj kolejnosci. nie latwiej zrobic to tak?:
$tablica = array(1
,2
,3
,4
,5
,6
,7
); //albo w forze shuffle($tablica); //wymieszaj elementy tablicy var_dump($tablica); //wynik to np. array(7) { [0]=> int(4) [1]=> int(5) [2]=> int(2) [3]=> int(6) [4]=> int(1) [5]=> int(3) [6]=> int(7) } //jak potrzebujesz to w stringu to teraz mozesz potraktowac ta tablice funkcja implode()
Podsumowujac: jak zabierasz sie za nowy temat przeczytaj rozdzial ksiazki/manuala albo jakis tutorial z nim zwiazany
komunikaty (warningi noticey, errory) daja duzo cennych informacji. var_dumpuj dane przed wywolaniem funkcji zeby sie przekonac czy jest w nich to co rzeczywiscie chcesz.
jesli info dotyczy konkretnej funkcji przeczytaj manuala wraz z przykladami zwracajac uwage na parametry, ich typy, zwracana wartosc, czy jest referencja itp.
bez debugowania kodu nie liczylbym na to ze napisze cos nowego i bedzie od razu dzialac