for + array = ??? |
for + array = ??? |
31.05.2004, 19:18:58
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) |
Mam sobie taki prosty kodzik:
[php:1:5b7b49430d]<?php $id_users = array( "a", "b", "c", "d", "e" ); for( $i = 0; $i <= count( $id_users ); $i++ ) { echo $id_users[$i]; echo "<br />"; } ?>[/php:1:5b7b49430d] I wyskakuje mi taki brzydki komunikat: Kod Notice: Undefined offset: 5 in...
Jak go zlikwidowac? Przeciez powyzej nie jest nic zle napisanego? Niechce uzywac czegos takiego:[php:1:5b7b49430d]<?php error_reporting(E_ALL ^ E_NOTICE); ?>[/php:1:5b7b49430d]Jest jakies inne wyjscie? -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
31.05.2004, 19:22:08
Post
#2
|
|
Grupa: Zarejestrowani Postów: 445 Pomógł: 0 Dołączył: 21.12.2003 Skąd: Tomaszów Lubelski Ostrzeżenie: (10%) |
A tak: :?:
[php:1:85c158e33d]<?php $id_users = array( "a", "b", "c", "d", "e" ); for( $i = 0; $i<= count( $id_users )-1; $i++) { echo $id_users[$i].'<br />'; } ?>[/php:1:85c158e33d] Chodzi o to, że count() zwraca ilość tablic, czyli 5 (w tym wypadku). Natomiast największy klucz, to 4, gdyż zaczynają się one od 0 (w tym wypadku). -------------------- Don't worry, be happy!
Gadu-Gadu: 1687784 Darmowe komponenty na stronę WWW - licznik księga gości shoutbox chat kalendarz data godzina imieniny IP host przeglądarka odwiedzającego ankieta sonda |
|
|
31.05.2004, 19:31:28
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) |
hehe thx
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
31.05.2004, 19:38:23
Post
#4
|
|
Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) |
tak na marginesie to lepiej jest tak:
[php:1:f6e1ccd840]<?php $max=count( $id_users ); $id_users = array( "a", "b", "c", "d", "e" ); for ($i=0; $i<$max; $i++) { echo $id_users[$i].'<br />'; } ?>[/php:1:f6e1ccd840] a dlaczego? funkcja count jest wywolywana przy kazdym przejsciu petli, no w tym przypadku tablica jest mala ale jesli miala by np 1000 elementow to za 1000 razy musiala by byc zliczana jej wielkosc a tak tworzy sie dodatkowa zmienna ale za to nie trzeba wywolywac funkcji count za kazdym razem -------------------- |
|
|
31.05.2004, 19:40:08
Post
#5
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz |
[php:1:9ac6598eec]<?php
$max=count( $id_users ); $id_users = array( "a", "b", "c", "d", "e" ); ?>[/php:1:9ac6598eec] A wlasciwie to co liczysz tu tablice ktora powstanie w przyszlosci? |
|
|
31.05.2004, 19:42:49
Post
#6
|
|
Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) |
no sory male niedopatrzenie fakt tablica powinna byc przed wywolaniem funkcji
dzieki -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 08:39 |