![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 26.11.2008 Ostrzeżenie: (0%)
|
Witam, mam następujący problem:
Jestem początkujący w php, napisałem funkcję która ma generować dwu wymiarową tablicę na podstawie danych wczytanych z pliku. Plik zawiera newsy które mają być wyświetlone, każdy news składa się z trzech informacji - daty, tematu i treści. Oto jak wygląda funkcja: Kod function load_news(){ $file = fopen("news.n", 'rb'); $tab = fgetcsv($file, filesize("news.n"), "|"); fclose($file); $licznik = 0; for( $i=0; $i < (count($tab)/3); $i++ ){ for( $x=0; $x<3; $x++ ){ if( $x == 0 ){ $news[$i] = array(); } $news[$i][$x] = $tab[$licznik]; echo "$tab[$licznik]"; //wiersz na potrzeby testów echo "$news[$i][$x]"; //wiersz na potrzeby testów $licznik++; } } return $news; } A oto wynik działania funkcji: Kod 26-11-2008 Array[0] News1 Array[1] Treść news 1 Array[2] 26-11-2008 Array[0] News2 Array[1] Treść news 2 Array[2] 26-11-2008 Array[0] News3 Array[1] Treść news 3 Array[2] 26-11-2008 Array[0] News4 Array[1] Treść news 4 Array[2] 26-11-2008 Array[0] News5 Array[1] Treść news 5 Array[2] Pytanie: co jest nie tak? Z góry dziękuję za pomoc Ten post edytował pinki1986 26.11.2008, 01:19:47 |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%)
|
Witam!
Witaj na forum (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Napisz co chcesz osiągnąć bo inaczej to do niczego nie dojdziemy. Pozdrawiam! edit:
Chyba o to chodziło |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 26.11.2008 Ostrzeżenie: (0%)
|
Dziękuję za odpowiedź, jednak nie do końca o to chodziło, ta funkcja działa podobnie do mojej - za to jest dużo bardziej przejrzysta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Chodzi mi o to aby utworzyć tablicę dwu wymiarową która będzie zawierała w poszczególnych wierszach informacje na temat kolejnych newsów. Kod | data1 | temat1 | treść1 | | data2 | temat2 | treść2 | | data3 | temat3 | treść3 | | data4 | temat4 | treść4 | itd... W obu powyższych funkcjach przy probie wyświetlenia np. Kod echo "$news[1][1]" otrzymuje wynik:Kod Array[1] A może coś źle robie? ------------------------------------------------------------------------------------------------ Już poradziłem sobie w następujący sposób: Kod <?php function load_news2(){ $file = fopen("news.n", 'rb'); $tab = explode("`", fread($file, filesize("news.n"))); fclose($file); for( $i=0; $i< count($tab); $i++){ $news[] = explode("|", $tab[$i]); } return $news; } ?> Delikatnie zmieniłem strukturę pliku, poprzez rozdzielanie informacji dotyczących poszczególnych newsów znakiem "`" i użyciem funkcji explode() zamiast fgetcsv() (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzięki za pomoc. Pozdrawiam Ten post edytował pinki1986 26.11.2008, 11:06:19 |
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 04:22 |