Autor | Zpráva | ||
---|---|---|---|
wonder.x Profil |
#1 · Zasláno: 20. 6. 2012, 08:14:46
Zdravím všechny, učím se PHP a potřeboval bych radu. Sestavil jsem pomocí skript tuto anketu a nerozumím jen jedné věci. Nechápu jak se ukládají data z proměnné $radek v prvním cyklu do pole $nova_data[]. A po sléze se předávají fci fputcsv(), která uloží data zpět do CSV souboru. Než jsem zprovoznil script tak jsem hledal chybu a snažil jsem se vypsat obsah pole $nova_data[] fci foreach a dostal jsem akorát 5x array. A přitom script předá data fci fputcsv a všechno funguje jak má. Sice všechno funguje ale mě zajímá jak zrovna tato část funguje. Doufám, že jsem to popsal srozumitelně. Díky ;)
<?php if (!empty($_GET["odpoved"])){ $deskriptor = fopen("./anketa.csv", "r"); while($radek = fgetcsv($deskriptor, 50, ",")){ if ($radek[0] == $_GET["odpoved"]){ ++$radek[2]; } $nova_data[] = $radek; <--------- } fclose($deskriptor); $deskriptor = fopen("./anketa.csv", "w"); foreach($nova_data as $novy_radek){ <------- fputcsv($deskriptor, $novy_radek, ","); } fclose($deskriptor); } $deskriptor = fopen("./anketa.csv","r"); while ($radek = fgetcsv($deskriptor, 50, ",")){ $uri = "anketa.php?odpoved=".$radek[0]; echo "<tr>"; echo "<td>"; echo "<a href='$uri'>".$radek[1]."</a>"; echo "</td>"; echo "<td>".$radek[2]."</td>"; echo "</tr>"; } fclose($deskriptor); ?> |
||
Tori Profil |
#2 · Zasláno: 20. 6. 2012, 08:43:19
wonder.x:
„dostal jsem akorát 5x array“ Což je správně, fgetcsv vrací pole (a uloží do dočasné proměnné $radek). Jestli chcete vidět, co obsahuje $nova_data, použijte var_dump($nova_data) .
|
||
wonder.x Profil |
Děkuji za odpověď. Už tomu téměř rozumím. Akorát nerozumím tomu proč se řádek fce fgetcsv() dočasně uloží jako klasické pole, které vypíši foreachem nebo echem a po sléze se uloží do $nova_data ve formátu, jaký jsem zobrazil pomocí var_dump().
Edit: Už to chápu. Uloží se to do vícerozměrného pole. Moc díky za pomoc. Lámal jsem si s tím hlavu celkem dlouho :D. |
||
Časová prodleva: 12 let
|
0