Autor | Zpráva | ||
---|---|---|---|
ciba Profil * |
#1 · Zasláno: 21. 2. 2006, 13:13:22
Ahoj,
mam pole, projizdim a zpracovavam jeho hodnoty pomoci cyklu while ... list ... each Klíče pole nejsou číselné a mohou se vyskytnout téměř jakékoli ... potřebuju během smyčky zjistit, že se provádí poslední cyklus, pro ten platí jiná pravidla zpracování hodnot ... zatím to řeším takhle, ale moc se mi to nelíbí ... prosím elegantnější a rychlejší řešení ... $=0; while (list($key,$val) = each($pole)) { $i++; if($i==count($pole) { jine zpracovani } else { standard. zpracovani } } diky |
||
Hondrej Profil * |
#2 · Zasláno: 21. 2. 2006, 13:19:10
foreach($obsah as $key => $value) Třeba?? |
||
Hondrej Profil * |
#3 · Zasláno: 21. 2. 2006, 13:20:09
Kdyby to nebylo jasne, tak:
http://php.vrana.cz/prochazeni-poli.php http://php.ftp.cvut.cz/manual/cs/control-structures.foreach.php |
||
ciba Profil * |
#4 · Zasláno: 21. 2. 2006, 13:26:27
Hmno, vidím, že jsem zamrzl na PHP3 :)
ale pořád mi z toho nějak nedochází, jak zjistím, že jsem na posledním prvku ... :/ |
||
Hondrej Profil * |
#5 · Zasláno: 21. 2. 2006, 13:30:25
foreach je fce urcena prave pro praci s jednotlivymi prvky pole. Muzete uvest konkretne to, co potrebujete? Testovani, ze jsme dosli na konec pole mi prijde zbytecne a nedokazi si vybavit priklad, kde bychom to potrebovali.
|
||
ciba Profil * |
#6 · Zasláno: 21. 2. 2006, 13:35:43
mno,
potřebuju projít pole a se všemi hodnotami udělat totéž, kromě té poslední, s tou potřebuju udělat něco jiného ... asi nějak takhle foreach ($pole as $key=>$val) { if("TOHLE JE POSLEDNI PRVEK POLE") echo "Prvek $key je posledni v tomto poli"; else echo "Prvek $key je jednim z mnoha neposlednich prvku pole"; } |
||
jozob Profil |
#7 · Zasláno: 21. 2. 2006, 13:36:34
ciba
Predpokladám, že pole prechádzaš v nejakom cykle. Dajme tomu, že premenná, ktorá predstavuje čítač je $i, takže: if(isset($pole[$i+1])) { ... } //vráti TRUE, ak je nasledujúci kľúč definovaný |
||
Hondrej Profil * |
#8 · Zasláno: 21. 2. 2006, 13:39:42
Ja bych na to sel asi takto:
for(i=1;i<(count(pole)-1);i++) // budeme brat vsechny prvky pole krome posledniho. { neco udelej } a k poslednimu pristupujes individualne. |
||
ciba Profil * |
#9 · Zasláno: 21. 2. 2006, 13:39:54
Predpokladám, že pole prechádzaš v nejakom cykle. Dajme tomu, že premenná, ktorá predstavuje čítač je $i, takže
no, to se mi libi, i by to fungovalo, ale $keys nejsou ciselne, to pole vypada treba takto $pole=array("jablka"=>10,"nabidka"=>"modra","neco"=>"jineho") a v tom cyklu citac nepouzivam ... |
||
ciba Profil * |
#10 · Zasláno: 21. 2. 2006, 13:41:16
Hondrej[
když ten program neví, jaký je $key toho posledniho prvku ... :( |
||
Hondrej Profil * |
#11 · Zasláno: 21. 2. 2006, 13:43:31
Ja musim na x dni zmizet, jinak bych ti rad pomohl. A musim se priznat, ze jsem se ve tvych pozadavcich ztratil.
|
||
Peca Profil |
#12 · Zasláno: 21. 2. 2006, 13:44:18
Je to jenom takový nápad:
předpokládá, že je tam víc, než jeden prvek prvek je dostupný přes $pole[$key] |
||
ciba Profil * |
#13 · Zasláno: 21. 2. 2006, 13:46:59
Peca
No,to vypadá dobře, zkusím to přizpůsobit mé potřebě , každopádně díky za to ... díky všem zúčastněným .. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0