Autor | Zpráva | ||
---|---|---|---|
Dlahacz Profil * |
#1 · Zasláno: 24. 11. 2012, 22:52:15
Zdravím, potřeboval bych poradit jak spočítat počet prvků v řetězci. např mam $retezec = "25,12,18,15,562"; (potřebuju spocitat kolik je prvku oddelenych carkou, u tohoto prikladu by byl výsledek 5, dik
|
||
juriad Profil |
#2 · Zasláno: 24. 11. 2012, 22:56:19
count(explode(',', $retezec)) |
||
vosa Profil * |
#3 · Zasláno: 24. 11. 2012, 23:00:29 · Upravil/a: vosa
já bych to řešil takhle, ale možná je to moc komplikované:
$retezec = "25,12,18,15,562"; $prvky = explode(',',$retezec); $pocePrvku = count($prvky); echo $pocetPrvku; // 5 //nebo krátce: echo count(explode(',',$retezec)); //5 hmm pomalu píšu - juriad mě předběhl... ještě jedno řešení - spočítá počet oddělovačů asi je to rychlejší: substr_count($retezec, ','); |
||
Dlahacz Profil * |
#4 · Zasláno: 24. 11. 2012, 23:25:56
dik
|
||
Someone Profil |
#5 · Zasláno: 24. 11. 2012, 23:50:32
vosa:
„spočítá počet oddělovačů“ počet oddělovačů != počet prvků |
||
Dlahacz Profil * |
#6 · Zasláno: 25. 11. 2012, 00:07:01
Someone:
substr_count($retezec, ','); $retezec++; solved |
||
juriad Profil |
#7 · Zasláno: 25. 11. 2012, 00:15:08
Dlahacz:
určitě nechceš iterovat řetězec, to dělá něco úplně jiného, viz http://www.php.net/manual/en/language.operators.increment.php správně je substr_count($retezec, ',')+1 |
||
peta Profil |
#8 · Zasláno: 27. 11. 2012, 11:09:13
solved? :) A pri poctu prvku nula tito vypise chybne 1.
|
||
Joker Profil |
peta:
„A pri poctu prvku nula tito vypise chybne 1.“ To by šlo vyřešit: $pocet = empty($retezec) ? 0 : substr_count($retezec, ',') + 1; Resp. komu by dělal problém podmíněný operátor: $pocet = 0; if (!empty($retezec)) $pocet = substr_count($retezec, ',') + 1; |
||
Majkl578 Profil |
[#9] Joker: A co když tam bude nula?
Tedy spíše: $pocet = $retezec === '' ? 0 : substr_count($retezec, ',') + 1; (Nicméně mám z toho trochu takový pocit, že je to pole zapsané řetězcem někde v databázi, což by bylo samozřejmě špatně.) |
||
juriad Profil |
#11 · Zasláno: 27. 11. 2012, 11:32:34
rejp: a kolik prvků obsahuje řetězec
"a,b,,c, ,d,,"
nevíme přesně zadání, proto navrhuji zanechat naše pokusy o vyřesení obecného problému, který stejně elegantně nevyřešíme pokud Dlahacz bude potřebovat poradit s něčím konkrétním, určitě se ozve |
||
Časová prodleva: 13 let
|
0