Autor | Zpráva | ||
---|---|---|---|
pepazDepicka Profil * |
#1 · Zasláno: 22. 7. 2010, 22:10:57
Dobrý den,
prosim Vás, mám např pole o těchto slovek: tricko, mokre tricko, zelene tricko, nova tricka, krasna tricka a nyní potřebuji vypsat prvky pole jakožto jednotlivá slova a jejich celkový počet v daném poli.. tedy něco takového: tricko - v poli je 3x mokre - v poli je 1x zelene - v poli je 1x nova - v poli je 1x tricka - v poli je 2x krasna - v poli je 3x Trápím se nad tím už asi hodinku, ale stále se mi nedaří najít správné řešení tak se obracím s prosbou na Vás. Děkuji za každou radu / pomoc. Pepa |
||
Taps Profil |
#2 · Zasláno: 22. 7. 2010, 22:13:12
pepazDepicka:
udaje jsou uloženy v nějaké databazi či nikoliv? |
||
pepazDepicka Profil * |
#3 · Zasláno: 22. 7. 2010, 22:14:56
Taps:
Údaje nejsou uloženy v databázi ani v zádném externím souboru. Konkrétně jsou jen v proměnné jako string: $data = "tricko, mokre tricko, zelene tricko, nova tricka, krasna tricka"; Ale z tohoto vytvořit pole není problém a mám takové tušení, že se s polem bude lépe pracovat. |
||
pepazDepicka Profil * |
#4 · Zasláno: 22. 7. 2010, 22:54:14
tak jsem na to preci jen prisel:
$string = "tricko, mokre tricko, zelene tricko, nova tricka, krasna tricka"; $string = str_Replace(", ", " ", "".$string.""); $string = str_Replace(",", " ", "".$string.""); $array = explode(" ", $string); print_r(array_count_values($array)); |
||
pepazDepicka Profil * |
#5 · Zasláno: 22. 7. 2010, 23:03:06
jeste mala uprava s vypsanim klicu i hodnot pole kdyby to nekdy nekdo potreboval.
poprosil bych o kontrolu tohoto kodu (je to schvalne rozepsano na vice radku aby to bylo citelnejsi... Co byste navrhovali zmenit, co by slo udelat lepe aby to fungovalo rychleji? $string = "tricko, mokre tricko, zelene tricko, nova tricka, krasna tricka"; $string = str_Replace(", ", " ", "".$string.""); $string = str_Replace(",", " ", "".$string.""); $array = explode(" ", $string); $array = array_count_values($array); $arr_keys = array_keys($array); $arr_values = array_values($array); $arr_size = count($arr_keys); for ($i = 0; $i < $arr_size; $i++) { echo $arr_keys[$i]; echo " - "; echo $arr_values[$i]; echo "<br />"; } |
||
Alphard Profil |
#6 · Zasláno: 22. 7. 2010, 23:33:03
Ke stylu:
- obalovat řetězec "". a ."" je blbost - k rozdělení by šla použít funkce preg_split() - ten výpis by zvládl foreach <?php $string = "tricko, mokre tricko, zelene tricko, nova tricka, krasna tricka"; $array = preg_split('~\\s*[, ]\\s*~', $string); $array = array_count_values($array); foreach ($array as $arr_keys => $arr_values) { echo $arr_keys; echo " - "; echo $arr_values; echo "<br />"; } |
||
tiso Profil |
#7 · Zasláno: 22. 7. 2010, 23:59:48
Alphard: $arr_keys, $arr_values ???
|
||
pepazDepicka Profil * |
#8 · Zasláno: 23. 7. 2010, 00:02:05
Alphard:
Děkuji za úspornější řešení. Jinak ".$string." používám proto, že mi tuto syntaxi vyznačuje notepad++, takže se v kódu lépe orientuji... (jinak mi to ta potvora vykreslí šedě a to se tváří jako komentář) |
||
Alphard Profil |
#9 · Zasláno: 23. 7. 2010, 00:05:28
|
||
Časová prodleva: 14 let
|
0