Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.12.2010 Ostrzeżenie: (0%)
|
Witam mam następujący problem otóż, pobieram z bazy danych wartość będącą liczbą i teraz mam problem ponieważ potrzebuję to przypisać mam kod
następnie to przypisuje w pliku do którego załączam tą tablice, $ranga[$r[rank]]. I po tym właśnie zwraca mi błąd Warning: Illegal offset type in ... on line 3,4,5,6 Bardzo bym prosił o pomoc gdyż jestem początkującym programistą i nie wiem za bardzo gdzie zrobiłem błąd. Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
@Crozin:
ad1) "Zresztą... zawsze, można zamienić znak mniejszości na większości i porównywać minimalny zakres rangi" -> właśnie to zaproponowałem jako lepszy pomysł. Zakres górny w przypadku liczb rosnących jest źródłem potencjalnych błędów w przyszłości. ad2) Wyjątki także sugerowałem w komentarzach w kodzie, ale zostawiłem wybór. Poza tym dobrze napisany skrypt nie sprawi problemu. Wiesz co dostajesz na wyjściu, co dajesz na wejściu i nie martwisz się logiką biznesową wnętrza. Wyjątki są bardzo zdradliwe. Możesz mieć wszystko cacy i nagle coś sprawi, że poleci wyjątek, a wysypie Ci aplikację z powodu nie przechwyconego fatala. Ty w trakcie testowania nie musiałeś na taką sytuację trafić, ale kto wie co się stanie po pół roku na serwerze produkcyjnym? (IMG:style_emoticons/default/winksmiley.jpg) Użycie false do sygnalizacji błędu jest w takim momencie "bezpieczne", ponieważ większość skryptów, funkcji php-owych false daje domyślnie jako sygnalizację, że coś poszło nie tak i pod tym kątem większość osób testuje returny z funkcji. Owszem, wyjątki są o wiele lepsze do tego celu i dlatego powstały, ale wymaga to przejrzenia kodu aplikacji by wiedzieć gdzie te wyjątki mogą być rzucone, a więc i gdzie je próbować łapać oraz jakiej są klasy, bo przecież wyjątki także podlegają dziedziczeniu, a czasem zależy nam na łapaniu nie wszystkich, ale tylko określonej klasy wyjątków (IMG:style_emoticons/default/smile.gif) ad3) Chyba lepszym wyjściem niż robić break; byłoby od razu walnięcie return. Wtedy spada konieczność sprawdzania czy userRangelabel jest nullem. Dodatkowo przesłałbym tablicę zakresów jako parametr z tej przyczyny, że wtedy funkcja staje się uniwersalną i możesz ją stosować nie tylko dla rzeczy na sztywno i potem definiować osobną do Postów, osobna do artykułów itp. Po prostu byłaby jakąś w helperze do sprawdzania czy liczba mieści się w określonym zakresie. A więc byłaby bardzo elastyczna. PS: Popraw też static $ranges na coś innego niż weteran (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
pawdoh Przypisywanie przedziałom wartości słownej - tablica 2.01.2011, 22:41:45
kulczycki Nie możesz ID z tablicy przypisać funkcji. Może by... 2.01.2011, 22:54:21
cycofiasz Kluczem w tablicy może być string lub liczba całko... 2.01.2011, 22:55:08
Crozin Zapisujesz sobie jedynie górną granicę i etykietę,... 2.01.2011, 23:24:12
pawdoh Cytat(kulczycki @ 2.01.2011, 22:54:21... 2.01.2011, 23:40:21
Crozin Cytat[...] popełniłem gdzieś błąd?Posłuchałeś @kul... 2.01.2011, 23:42:25
kulczycki CytatPosłuchałeś @kulczycki, który zaproponował ut... 3.01.2011, 07:38:29
thek Ja bym nie ufał przedziałom górnym. Kulczycki ma r... 3.01.2011, 10:12:18
Crozin @thek: Ty to się potrafisz rozpisać.
1. Zapewne p... 3.01.2011, 14:09:42
Crozin 3) Oczywiście, dobra uwaga - już poprawiłem.
2) PH... 3.01.2011, 16:48:25
thek ad3) nadal przypisanie nulla przed foreachem jest ... 3.01.2011, 21:52:06
Crozin 3) Tak to jest jak się kod kopiuje i poprawia na s... 3.01.2011, 22:05:24
kulczycki 1. co do exception, po co on ?. Od tej funkcji nie... 3.01.2011, 22:39:58
Crozin Oczywiście możesz zwrócić wartość domyślną w momen... 3.01.2011, 23:28:44
kulczycki Bez bicia przyznaje racje 3.01.2011, 23:38:40
thek Ja, właśnie z racji tego, że musimy uważać na zakr... 4.01.2011, 01:46:57 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 20:49 |