в первом цикле я получаю все имена директорий
во втором читаю из этих директорий файлы с базами
print_r ($dirs); // Это директории
// Array ( [0] => action [1] => detskie [2] => gonki [3] => kazino [4] => logicheskie [5] => shariki-linii [6] => strategii )
$i=0;
// Получаю все директории
foreach($dirs as $category)
{
$category=trim($category);
// Получаю тектовую базу
$cat_file =file('catalog/'.$category.'/'.$category.'_base.dat');
$h = 0;
foreach($cat_file as $line)
{
$line=trim($line);
$exp=explode("|",$line);
if ($h==8) break; // Цикл достиг 8 останавливаю, но у меня цикл в цикле
//и поэтому у меня шесть раз по восемь, а как сделать только одир раз восемь?
Спустя 8 минут, 9 секунд (27.04.2011 - 10:50) linker написал(а):
$category = reset($dirs);
$category=trim($category);
$cat_file =file('catalog/'.$category.'/'.$category.'_base.dat');
$h = 0;
foreach($cat_file as $line)
{
++ $h;
$line=trim($line);
$exp=explode("|",$line);
if ($h==8) break;
}
Спустя 6 минут, 35 секунд (27.04.2011 - 10:56) Renden написал(а):
srazil
Тебе уже linker ответил, но мне непонятно зачем именно 8 раз? Тк у тя массив диреторий состоит из 7 значений. (а не 6 или 8)
Тебе уже linker ответил, но мне непонятно зачем именно 8 раз? Тк у тя массив диреторий состоит из 7 значений. (а не 6 или 8)
Спустя 4 минуты, 53 секунды (27.04.2011 - 11:01) srazil написал(а):
$cat_file =file('catalog/'.$category.'/'.$category.'_base.dat'); // Это база а из нее мне и надо только 8 записей выводить! (в ней их к примеру 214), такой файл в каждой директории и в них разная инфа.
А как сделать на все директории?
Недоговоренное:
Я хочу вывести 8 последних добавленных записей из всех баз
print_r($dirs);
//Array ( [0] => action [1] => detskie [2] => gonki [3] => kazino [4] => logicheskie [5] => shariki-linii [6] => strategii )
$category = reset($dirs);
print_r($category);
//action
А как сделать на все директории?
Недоговоренное:
Я хочу вывести 8 последних добавленных записей из всех баз
Спустя 18 минут, 49 секунд (27.04.2011 - 11:20) srazil написал(а):
Начну заново.
Мне нужно вывести последние 8 записей из текстовых баз(записи могут быть не в одной текстовой базе а в нескольких), я читаю в массив все директории где находяться текстовые базы
На выходе я получаю много дублированных записей т к у меня цикл в цикле
Мне нужно вывести последние 8 записей из текстовых баз(записи могут быть не в одной текстовой базе а в нескольких), я читаю в массив все директории где находяться текстовые базы
print_r ($dirs); // Это директории
// Array ( [0] => action [1] => detskie [2] => gonki [3] => kazino [4] => logicheskie [5] => shariki-linii [6] => strategii )
$i=0;
// Получаю все директории
foreach($dirs as $category)
{
$category=trim($category);
// Получаю тектовуе базы
$cat_file =file('catalog/'.$category.'/'.$category.'_base.dat');
$h = 0;
foreach($cat_file as $line)
{
$line=trim($line);
$exp=explode("|",$line);
if ($h==8) break; // Цикл достиг 8 останавливаю, но у меня цикл в цикле
//и поэтому у меня шесть раз по восемь, а как сделать только один раз восемь?
На выходе я получаю много дублированных записей т к у меня цикл в цикле
Спустя 21 минута, 22 секунды (27.04.2011 - 11:42) linker написал(а):
Цитата |
и поэтому у меня шесть раз по восемь, а как сделать только один раз восемь? |
Определись в конце концов сколько и по сколько тебе надо.
Спустя 13 минут, 9 секунд (27.04.2011 - 11:55) srazil написал(а):
нужно всего вывести 8 последних записей и все!
Спустя 19 минут, 22 секунды (27.04.2011 - 12:14) walerus написал(а):
<?php
print_r ($dirs); // Это директории
// Array ( [0] => action [1] => detskie [2] => gonki [3] => kazino [4] => logicheskie [5] => shariki-linii [6] => strategii )
// Получаю все директории
$result = array();
foreach($dirs as $category)
{
$category=trim($category);
// Получаю тектовые базы
$cat_file =file('catalog/'.$category.'/'.$category.'_base.dat');
$cat_file=array_reverse ($cat_file, TRUE);// переворачиваем массив сохраняя ключи
$count = 8;
$result[$category] = array_slice($result, 0, $count);
}
?>
В результате получится массив $result - где, "ключи" - названия директорий, а значения - выборка 8ми последних элементов(если они конечно будут)
Спустя 2 часа, 39 минут, 18 секунд (27.04.2011 - 14:53) srazil написал(а):
Цитата (walerus @ 27.04.2011 - 09:14) |
В результате получится массив $result - где, "ключи" - названия директорий, а значения - выборка 8ми последних элементов(если они конечно будут) |
Это одно и тоже
print_r ($result);
print_r ($dirs);
Нужно второй цикл остановить по достижению, пробовал еще break 2 но он тоже не помог.