kamelions
Новичок
Здравствуйте. Помогите пожалуйста разобрать массив правильно и передать его в js.
есть xml файл, в нём данные
Тащю данные
в итоге получаю по echo $obrazcy;
Друзья, подскажите, как получить так:
Убил 4 часа на разные варианты, сдался, прошу помощи)
есть xml файл, в нём данные
Код:
<Data>
<Samples>
<Sample id="1" Repetition="7" Type="PKO" Description="ПКО" Reactor="Cms" />
<Sample id="2" Repetition="9" Type="OKO_b" Description="ОКО-в" Reactor="Cms" />
<Sample id="3" Repetition="8" Type="OKO" Description="ОКО" Reactor="Cms" />
<Sample id="4" Repetition="1" Type="IO" Description="ИО1" Reactor="Cms" />
<Sample id="5" Repetition="2" Type="IO" Description="ИО2" Reactor="Cms" />
<Sample id="6" Repetition="3" Type="IO" Description="ИО3" Reactor="Cms" />
<Sample id="7" Repetition="4" Type="IO" Description="ИО4" Reactor="Cms" />
....
</Samples>
</Data>
PHP:
$tf = $this->upload->file_src_pathname; /загруж. файл
$xml = simplexml_load_file($tf); /интерпр. xml в объект
$samples = $xml->Data->Samples->Sample;
foreach ($samples as $sample)
{
$smpl= array($sample{'id'},
$sample{'Repetition'},
$sample{'Type'},
$sample{'Description'},
$sample{'Reactor'});
$table[]=$smpl;
}
//енкодим windows-1251 в utf-8, далее в JSON
$obrazcy = preg_replace_callback(
'/\\\u([0-9a-fA-F]{4})/', create_function('$_m', 'return mb_convert_encoding("&#" . intval($_m[1], 16) . ";", "UTF-8", "HTML-ENTITIES");'),
json_encode($table)
);
echo $obrazcy;
Код:
[[{"0":"1"},{"0":"7"},{"0":"PKO"},{"0":"ПКО"},{"0":"Cms"}],[{"0":"2"},{"0":"9"},{"0":"OKO_b"},{"0":"ОКО-в"},{"0":"Cms"}],[{"0":"3"},{"0":"8"},{"0":"OKO"},{"0":"ОКО"},{"0":"Cms"}],[{"0":"4"},{"0":"1"},{"0":"IO"},{"0":"ИО1"},{"0":"Cms"}], и т.д. ]
Код:
[[1,7,PKO,ПКО,Cms],[2,9,OKO_b,ОКО-в,Cms],[3,8,OKO,ОКО,Cms],[4,1,IO,ИО,Cms], и т.д. ]