g200
Новичок
Подскажите почему скрипт не проходит по всем тэгам "length" в xml файле... Он выводит только первый и ошибку.
XML-файл:
Скрипт обработки:
Результат:
60.0
y: 0
x: 0
Notice: Undefined offset: 1 in C:\localweb\index.php on line 15
y: 1
x: 1
Fatal error: Call to a member function count() on a non-object in C:\localweb\index.php on line 7
XML-файл:
Код:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<catalogue>
<FILM_1_NAME>
<name>FILM_NAME</name>
<packages>
<_pack1>shared
<includes>
<cd>_cd_name_<length>60.0</length></cd>
<cd>_cd_name_<length>80.0</length></cd>
<book>_book_name_<length>0.0</length></book>
</includes>
</_pack1>
<_pack2>shared
<includes>
<misc>_misc_name_<length>5.0</length></misc>
<book>_book_name_<length>0.0</length></book>
</includes>
</_pack2>
<_pack3>shared
</_pack3>
</packages>
</FILM_1_NAME>
<FILM_2_NAME>
<name>FILM_NAME</name>
<packages>
<_pack1>shared
</_pack1>
<_pack2>shared
<cd>_cd_name_<length>30.0</length></cd>
</_pack2>
</packages>
</FILM_2_NAME>
</catalogue>
</root>
Код:
<?php
$xml=simplexml_load_file("cat.xml");
$cat_array=array();
for($y=0,$i=0;$y<($xml->catalogue->children()[0]->packages->children()[$y]->includes->cd->count()),$i<($xml->catalogue->children()[0]->packages->children()->count());$y++,$i++) {
if(!empty($xml->catalogue->children()[0]->packages->children()[$i]->includes->cd[$y])) {
$cat_array[$y]=$xml->catalogue->children()[0]->packages->children()[$i]->includes->cd[$y]->length;
}
echo $cat_array[$y]."<br />"."y: ".$y."<br />"." x: ".$i;
}
?>
60.0
y: 0
x: 0
Notice: Undefined offset: 1 in C:\localweb\index.php on line 15
y: 1
x: 1
Fatal error: Call to a member function count() on a non-object in C:\localweb\index.php on line 7