Проблема с массивами

mep

Guest
Проблема с массивами

Есть скрипт новостей, новости хранятся так:
Под каждую новость отдельный файл с именем формата date ("YmdHis") (20051018213311.txt).
Содержимое такого формата:
20051018213311|Автор|Заголовок|Новость|Вторник, 18 Октября.
На странице с выводом новостей есть следующая функция: $news=opendir($dirct);
Тоесть создается массив в котром каждый ключ означает файл.
дальше надо эти файлы разбить на мыссивы с ключами котрые стоят между знаком "|".
Это делается вроде функцией explode, но как? Поможешь?
Надо чтобы получилось сто-то вроде

$news [0][1] => Автор второй новости
$news [0][2] => Заголовок второй новости
$news [0][3] => Вторая новость
$news [0][4] => Дата добавления второй новости

$news [1][1] => Автор третьей новости
$news [1][2] => Заголовок третьей новости
$news [1][3] => Третья новость
$news [1][4] => Дата добавления третьей новости

и т.д.

Заранее спасибо!
 

zap

Guest
$file_news=file("20051018213311.txt");
for($i=0;$i<=count($news)-1;$i++){
$news=explode("|",$file_news[$i]);
print "Дата: ".$news[0].
" Автор: ".$news[1].
" Заголовок: ".$news[2].
"Новость: ".$news[3].
"Еще чето: ".$news[4];
}

вот и все!

-~{}~ 21.10.05 07:35:

=))
 

Нечто

Психолог РНРClub
PHP:
function getNews($date = '*', $newsDir = './news') {
    if (!$files = glob($newsDir.'/'.$date.'.txt')) return false;
    foreach ($files as $f) $news[] = explode('|', file_get_contents($f));
    return $news;
}

// Использование:
$news = getNews('200510*', 'news/'); // новости за 2005.10 из папки news
$news = getNews('2005101821*'); // новости за 2005.10.18, 9 часов вечера из папки по умолчанию (в параметрах функции)
zap
Под каждую новость отдельный файл
 

mep

Guest
baev - это я не с кем не разговаривал :) просто еще надругом форуме вопрос задавал :))
zap, Нечто - спасибо огромное!

-~{}~ 21.10.05 14:29:

Делаю так:

function getNews($date = '*', $newsDir = './news') {
if (!$files = glob($newsDir.'/'.$date.'.txt')) return false;
foreach ($files as $f) $news[] = explode('|', file_get_contents($f));
return $news;
}

// Использование:
$news = getNews('200510*', 'news/'); // новости за 2005.10 из папки news
$news = getNews('2005101821*'); // новости за 2005.10.18, 9 часов вечера из папки по умолчанию (в параметрах функции)

echo "$news";

Выводит: Array
 

kvf77

Red Devil
mep

вау, все в умилении не знаю что и ответить.

ну выводит ровно то, что и должно выводить - ты чего ожидал увидеть?

или ты не знаешь что такое Array?
 

Нечто

Психолог РНРClub
Я сегодня добрый.
PHP:
$news = getNews('200510*');
printf('<pre>%s</pre>', print_r($news, true));

foreach(getNews() as $item) {
    echo('<h2>' . $item[2] . '</h2><p>' . $item[3] . '</p>');
}
 
Сверху