![]() |
![]() |
-Sajam- |
![]()
Post
#1
|
Goście ![]() |
Mam następujący problem...
Dlaczego funkcja max nie działa w tym przykładzie:
Pole poz to pozycja w menu (1, 2, 3, 4, 5...) typ: tinyint. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
max()" title="Zobacz w manualu PHP" target="_manual
Czytałeś, jakie argumenty ta funkcja przyjmuje? Ten post edytował Hazel 30.08.2007, 15:54:17 -------------------- ![]() |
|
|
-Sajam- |
![]()
Post
#3
|
Goście ![]() |
Tak wiem widziałem i co?..
Może napisałbyś co mam źle? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
To, że funkja max() pobiera przynajmniej 2 argumenty a ty za każdym wykonaniem pętli podajesz inny, więc do funkcji przekazujesz tylko jeden argument.
-------------------- Sygnaturka usunięta ze względu na złamanie regulaminu forum (Sabistik)
|
|
|
-Sajam- |
![]()
Post
#5
|
Goście ![]() |
Nie no.. druga odpowiedź dobiła mnie jeszcze bardziej
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Najpierw wczytaj wszystkie rekordy 'poz' do tablicy, a potem wywołaj funkcję max() [tylko jeden raz a nie w pętli]
-------------------- Sygnaturka usunięta ze względu na złamanie regulaminu forum (Sabistik)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 492 Pomógł: 33 Dołączył: 16.08.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To, że funkja max() pobiera przynajmniej 2 argumenty To też nie do końca prawda, max() może pobierać również tablicę... Ale to nieważne, bo w tym przypadku nie pobiera żadnej tablicy, a zmienną, która z każdą iteracją while jest inna, i nie ma szans na zrobienie czegokolwiek... Logiki trochę by się przydało ![]() -------------------- ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
No to mówię, wczytaj wszystkie rekordy do tablicy. Pętla while będzie ci potrzebna wyłącznie do tego. A wynik wyświetlisz tak:
działający kod:
Ten post edytował qooxdoo 30.08.2007, 16:14:16 -------------------- Sygnaturka usunięta ze względu na złamanie regulaminu forum (Sabistik)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@qooxdoo:
Działający, ale niepoprawny. Co ma oznaczać:
? Co to za inkrementowanie $i, które nie zostało wcześniej określone? Poza tym wystarczy:
Zrób
i zobacz efekt swojego kodu ![]() Ten post edytował drPayton 31.08.2007, 12:13:16 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, dopiero zaczynam z PHP. Wydawało mi się, że zmienna $i automatycznie przyjmie typ integer. Ale wystarczy przed pętlą dać $i=0
A skąd interpreter będzie wiedział, jaki wstawić index w wyrażeniu: Co to za inkrementowanie $i, które nie zostało wcześniej określone? Poza tym wystarczy:
? -------------------- Sygnaturka usunięta ze względu na złamanie regulaminu forum (Sabistik)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale wystarczy przed pętlą dać $i=0 Otóż to. I dopiero wtedy będzie OK to co napisałeś. Cytat A skąd interpreter będzie wiedział, jaki wstawić index w wyrażeniu:
? Automatycznie przyjmuje indeksowanie numeryczne poczynając od zera, lub od ostatniego indeksu numerycznego jeśli był zadeklarowany wcześniej, tzn:
Ten post edytował drPayton 31.08.2007, 17:03:19 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 30.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
sprytne
![]() -------------------- Sygnaturka usunięta ze względu na złamanie regulaminu forum (Sabistik)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:04 |