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

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::-", ит.д. в зависимости от количества строк);

БУДУ БЛАГОДАРЕН ЗА ЛЮБУЮ НОРМАЛЬНУЮ ПОДСКАЗКУ
 

Фанат

oncle terrible
Команда форума
буду благодарен за нормально заданный вопрос.ю
в частности, объяснение СЛОВАМИ, по какому ПРИНЦИПУ строка 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::-"
 

vovus

Новичок
наверное внутри цикла считывания вставить код типа:
$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...
 

Фанат

oncle terrible
Команда форума
то есть, словами объяснить, что тебе надо, ты затрудняешься?
 

vovus

Новичок
Фанат, ну как те объяснить... вроде затрудняюсь... вот только не объяснить, а показать, как оно технически может выглядеть...

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

мне это удалось вывести в самом цикле во время считывания строк(echo $disc1naz_t."::".$disc1ris_t."::".$disc1info_t."::".$disc1dop_t."::<br><br>"и ещё таких четыре), но мне так не подходит - остальной кусок кода требует эти данные только в массиве в в отдельных ячейках.
 

Фанат

oncle terrible
Команда форума
наверное внутри цикла считывания вставить код типа:
$filelist=array ("$
ты правильно рассуждаешь.
плюс - эти же самые массивы должны сами лежать в массиве. так?
 

vovus

Новичок
Фанат, спасибо за момощь...поднапряг я тя сегодня... как у тя только нервов хватает на таких, как я..?!!! :) - пыхнул я чуток и сам догадался, чего мне в жизни не хватало... :
$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...
и остальной кусок кода чуток переделал - на удивление всё пашет , как часы. Что значит хорошая травушка-муравушка! ;)
 
Сверху