![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Jestem w trakcie pisania modułu dla pewnego serwisu. Jest to moduł tagów.
Oto mój kod który niby działa, lecz nie do końca:
A oto wyświetlane błędy: Kod Notice: Undefined offset: 8 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 8 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 9 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 9 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 10 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 10 in D:\Serwer\www\index.php on line 23 Notice: Undefined offset: 11 in D:\Serwer\www\index.php on line 23 ... itd. Co robię źle w powyższym kodzie? Ten post edytował djgarsi 17.02.2011, 10:36:33 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
iterujesz po tablicy $words aż do $len. Sek w tym, że $len to nie jest liczba elementów tablicy a liczba liter ze wszystkich słów tablicy. Nic wiec dziwnego, że dostajesz bledy.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Proszę poprawić temat wątku na lepiej opisujący problem.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy funkcja end($tablica) będzie odpowiednia?
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Rety, dostałeś podane rozwiązanie jak na tacy a ty w ogole nie myslisz :/
Nie: $len += mb_strlen($word); a: $len ++; Tak? Tak, skoro $len ma byc liczbą elementów. A najlepiej wywal tego for i poprostu uzyj FOREACH foreach($words as $w) { echo '<a href="/tagi/'.$w.'.html">'.$w.'</a> '; } -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nospor, może i będzie to dobre:)
Ja jednak oczekiwany efekt uzyskałem dzięki konstrukcji for($i=0;$i<max(array_keys($words));$i++) Pozdrawiam i dziękuję za wskazanie mojego błędu. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
O zgrozo.......
![]() Podalem ci DWA rozwiązania. Ty wymysliles trzecie totalnie zakrecone. To tak jakbys do swojej kuchni w swoim domu wchodzil przez okno sąsiadów :/ Jak już to: $c = count($words); for($i=0;$i<$c;$i++) Skoro nie chcesz słuchać rad starszych to chociaż pisz optymalnie z podstawową znajomosci funkcji ktorych raczysz używać -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to proszę wyjaśnij mi jaka jest różnica między count($words) a max(array_keys($words)) ?
-------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wynikowo? Zadna.
Tak samo jak w wyniku nie ma żadnej różnicy między: 1) Iśc do kuchni z pokoju przez przedpokój 2) Iść do kuchni przez balkon do sąsiadów a potem od nich z okna kuchni do naszej kuchni. Wynik i tu i tu jest takim sam, z tym, że w drugim przypadku więcej się namęczysz i możesz skręcić kark. Także Twoj "potworek" max(array_keys($words)) akurat dla tej tablicy zwróci taki sam wynik co count() z tym, że Twoj potworek wykona przy tym wiecej operacji i się bardziej zmęczy. Fakt, różnica zapewne dla Twoich danych nie będzie w ogóle widoczna, ale Ty teraz uczysz się programować i uczysz się programować cholernie nieoptymalnie, bez pomyślunku i durnym kombinowaniem zamiast po prostu użyć coś, co do danej rzeczy jest stworzone ![]()
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
O widzisz;) I nie mozna było tak od razu że Twoje rozwiązanie jest bardziej optymalne?
![]() Jeszcze raz dzieki za pomoc:) -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No przeciez napisałem od razu:
Cytat Ty wymysliles trzecie totalnie zakrecone. To tak jakbys do swojej kuchni w swoim domu wchodzil przez okno sąsiadów :/ Poza tym, jak ktoś bardziej doświadczony podaje ci 3 rozwiązania to naprawdę nie wymyślaj już czwartego -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:03 |