Список из файла в массив

  • Автор темы Автор темы vovus
  • Дата начала Дата начала

vovus

Новичок
Список из файла в массив

Есть файл discs.dat с такими данными: CMS::CMS::CMS::CMS::CMS::70::71::72::73::74::CMS 40::CMS 61::CMS 66::CMS 71::CMS 77::-::-::-::-::- и т.д. до конца файла...
а это кусок кода, считывающего строки:
$general="discs.dat";
$general_file = file($general); $lines = count($general_file);
for ($i = 0; $i <= $lines; $i++){
list($disc1naz_t,$disc2naz_t,$disc3naz_t,$disc4naz_t,$disc5naz_t,$disc1ris_t,$disc2ris_t,$disc3ris_t,$disc4ris_t,$disc5ris_t,,$disc2info_t,$disc3info_t,$disc4info_t,$disc5info_t,$disc1dop_t,$disc2dop_t,$disc3dop_t,$disc4dop_t,$disc5dop_t)=explode("::", $general_file[$i]); }

как мне превратить данные в массив такого вида? : $filelist=array ("CMS::70::CMS 40::-","CMS::71::CMS 61::-","CMS::72::CMS 66::-","CMS::73::CMS 71::-","CMS::74::CMS 77::-", ит.д. в зависимости от количества строк);

БУДУ БЛАГОДАРЕН ЗА ЛЮБУЮ НОРМАЛЬНУЮ ПОДСКАЗКУ
 
буду благодарен за нормально заданный вопрос.ю
в частности, объяснение СЛОВАМИ, по какому ПРИНЦИПУ строка CMS::CMS::CMS::CMS::CMS::70::71::72::73::74::CMS 40::CMS 61::CMS 66::CMS 71::CMS 77::-::-::-::-::- должна превратиться в массив вида $filelist=array ("CMS::70::CMS 40::-","CMS::71::CMS 61::-","CMS::72::CMS 66::-","CMS::73::CMS 71::-","CMS::74::CMS 77::-"
 
наверное внутри цикла считывания вставить код типа:
$filelist=array ("$disc1naz_t.$disc1ris_t.$disc1info_t.$disc1dop_t","$disc2naz_t.$disc2ris_t.$disc2info_t.$disc2dop_t" , + ещё три ячейки...);
или echo $disc1naz_t."::".$disc1ris_t."::".$disc1info_t."::".$disc1dop_t."::<br><br>".$disc2naz_t."::".$disc2ris_t."::".$disc2info_t."::".$disc2dop_t."::<br><br>" и т.д.

я такое в цикле выводил с помощью echo, а вот как в массив вне цикла загнать не имею представления - мысль крутится вокруг foreach...
 
то есть, словами объяснить, что тебе надо, ты затрудняешься?
 
Фанат, ну как те объяснить... вроде затрудняюсь... вот только не объяснить, а показать, как оно технически может выглядеть...

есть файл в котором в одной строке описывается 5 предметов: первых пять ячеек::-название 5-ти предм., 2-ые - названия рисунков тоже 5 шт. ит.д. а мне необходимо загнать в массив в одну ячейку название+рисунок+.... только одного предмета, в следующую ячейку всю инфу по второму предмету и т.д.

мне это удалось вывести в самом цикле во время считывания строк(echo $disc1naz_t."::".$disc1ris_t."::".$disc1info_t."::".$disc1dop_t."::<br><br>"и ещё таких четыре), но мне так не подходит - остальной кусок кода требует эти данные только в массиве в в отдельных ячейках.
 
наверное внутри цикла считывания вставить код типа:
$filelist=array ("$
ты правильно рассуждаешь.
плюс - эти же самые массивы должны сами лежать в массиве. так?
 
Фанат, спасибо за момощь...поднапряг я тя сегодня... как у тя только нервов хватает на таких, как я..?!!! :) - пыхнул я чуток и сам догадался, чего мне в жизни не хватало... :
$general_file = file($general);
$lines = count($general_file);
for ($i = 0; $i <= $lines; $i++){
list($disc1naz_t,$disc2naz_t,$disc3naz_t,$disc4naz_t,$disc5naz_t,$disc1ris_t,$disc2ris_t,$disc3ris_t,$disc4ris_t,$disc5ris_t,$disc1info_t,$disc2info_t,$disc3info_t,$disc4info_t,$disc5info_t,$disc1dop_t,$disc2dop_t,$disc3dop_t,$disc4dop_t,$disc5dop_t)=explode("::", $general_file[$i]);

$filelist[]= $disc1naz_t.'::'.$disc1ris_t.'::'.$disc1info_t.'::'.$disc1dop_t;
$filelist[]= $disc2naz_t.'::'.$disc2ris_t.'::'.$disc2info_t.'::'.$disc2dop_t;
$filelist[]= $disc3naz_t.'::'.$disc3ris_t.'::'.$disc3info_t.'::'.$disc3dop_t;
$filelist[]= $disc4naz_t.'::'.$disc4ris_t.'::'.$disc4info_t.'::'.$disc4dop_t;
$filelist[]= $disc5naz_t.'::'.$disc5ris_t.'::'.$disc5info_t.'::'.$disc5dop_t;
} и потом измываюсь над $filelist...
и остальной кусок кода чуток переделал - на удивление всё пашет , как часы. Что значит хорошая травушка-муравушка! ;)
 
Сверху