Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PHP - funkcje, pętle itp.
Forum PHP.pl > Forum > Przedszkole
jeremieblanc
Witam,

czy ktoś mógłby nakierować mnie jak z grupy 4 zmiennych uporządkować je według takich kryteriów tj:

Mamy 4 zespoły, w zależności od ilości punktów przy tej samej liczbie, musimy sprawdzić jaka jest różnica bramek, jeżeli taka sama, jaka jest ilość strzelonych goli, a jeśli i to jest równe to jak zakończył się bezpośredni mecz - jeśli to zawiedzie to trzeba wylosować drużynę, która zajmie wyższe miejsce.

Z góry dzięki.
tzm
Nakierowując:
array,
foreach,
if,
while, ewentualnie for
jeremieblanc
Spoko to akurat wiew. Jednak nie działa to do końca poprawnie wink.gif Chodziło mi bardziej czy trzeba tworzyć tablice wielowymiarowe, czy jakieś funkcje zagnieżdżone w sobie. Może jakieś przykłady etc.
tzm
Wielowymiarowe, bo i tak wszystko będziesz miał w bazie danych więc pobierać będziesz po swojemu i tworzyć za każdym razem tablicę.
Także odpada problem standaryzacji danych - bo ich nie odbierasz od użytkownika, tylko masz już odebrane tak?
Pokaż co robiłeś, co nie wychodziło.
jeremieblanc
No właśnie nie do końca mam te bazy danych sad.gif nie wiem jak to zrobić i jak to ugryźć pod tym kontem sad.gif
Wyniki dostaje od użytkownika, który wpisuje je w formularzu w formie tabeli. Następnie przypisywane są odpowiednim ekipą, następnie przeliczane punkty za pomocą if,elseif,else dla każdego meczu.

I później zaczynają się schody :
Kod
if(($first == $brazylia) &&(($brazylia>$chorwacja && $brazylia>$meksyk && $brazylia>$kamerun) ||
    ($brazylia_d>$chorwacja_d && $brazylia_d>$meksyk_d && $brazylia_d>$kamerun_d)||
    ($brazylia_s>$chorwacja_s && $brazylia_s>$meksyk_s && $brazylia_s>$kamerun_s)))
    {
        $first = "Brazylia";
    }
    if(($first == $chorwacja) &&(($chorwacja>$brazylia && $chorwacja>$meksyk && $chorwacja>$kamerun)||
    ($chorwacja_d>$brazylia_d && $chorwacja_d>$meksyk_d && $chorwacja_d>$kamerun_d)||
      ($chorwacja_s>$brazylia_s && $chorwacja_s>$meksyk_s && $chorwacja_s>$kamerun_s)))
    {
        $first = "Chorwacja";
    }
    if(($first == $meksyk)&&(($meksyk>$brazylia && $meksyk>$chorwacja && $meksyk>$kamerun)||
    ($meksyk_d>$brazylia_d && $meksyk_d>$chorwacja_d && $meksyk_d>$kamerun_d)||
      ($meksyk_s>$brazylia_s && $meksyk_s>$chorwacja_s && $meksyk_s>$kamerun_s)))
    {
        $first = "Meksyk";
    }
    if(($first == $kamerun)&&(($kamerun>$brazylia && $kamerun>$chorwacja && $kamerun>$meksyk)||
    ($kamerun_d>$brazylia_d && $kamerun_d>$chorwacja_d && $kamerun_d>$meksyk_d)||
      ($kamerun_s>$brazylia_s && $kamerun_s>$chorwacja_s && $kamerun_s>$meksyk_s)))
    {
        $first = "Kamerun";
    }
$array_check_first =  array($brazylia_s,$chorwacja_s,$meksyk_s,$kamerun_s);
$array_first_random = array ();
if (is_numeric($first))
{
    $max_array = max($array_check_first);
    
    if($brazylia_s==$max_array )
    {
        array_push($array_first_random, "Brazylia");
    }
    
    if($chorwacja_s==$max_array)
    {
        
        array_push($array_first_random, "Chorwacja");
    }
    if($meksyk_s==$max_array)
    {
        array_push($array_first_random, "Meksyk");
    }
    
    if($kamerun_s==$max_array)
    {
        array_push($array_first_random, "Kamerun");
    }
    
    var_dump($array_first_random);
    $first=array_rand($array_first_random);
    echo $array_first_random[$first].
    
    var_dump($array_first_random);
    $key = array_search('Kamerun', $array_first_random);
    unset($array_first_random[$key]);
    var_dump($array_first_random);
    " Zgodnie z regulaminem FIFA w wypadku gdy liczba punktów jest identyczna, różnica
    bramek jest identyczna, ilość strzelonych bramek jest identyczna oraz mecz bezpośredni zakończył się remisem o kolejności decyduje losowanie";
    
}
else
{
echo $first;
}

Ten kod to jakieś wypociny pozapisywane w notatniku. Wiem wiem wysokie loty. Niemniej próbowałem to jakoś ogarnąć. Nie wyszło porwałem się na wysokie progi jak dla mnie chyba.

Problem jest taki, że w niektórych wypadkach zawodzi i kod jest "gówniany". Na siłę chciałem to sam napisać. Dodatkowo próbowałem wykorzystać pustą tabelę i array_pushem przechodzić przez różne problemy. Dałoby się to rozwiązać gdyby nie Undefinded offset - czyli jednym słowem problemy z kluczem sad.gif

Nie mam żadnego pomysłu jak to zrobić, żeby funkcja wyglądała składnie i po Bożemu.
Dodam jeszcze, że w przypadku gdy ktoś miałby czas i chęci mi to pokazać i wytłumaczyć jak to zrobić poprawnie to jestem otwarty na dogadanie się co do kwoty za poświęcony mi czas.
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.