XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<top>
...
<block>
<id>0</id>
<n>Procyon1</n>
<f>f</f>
<t>d</t>
<r>r</r>
<l>112</l>
<q>u</q>
<e>?</e>
<b>?</b>
<p>?</p>
<s>?</s>
<c>?</c>
<sp>1</sp>
<bm>4</bm>
</block>
...
</top>
Тэгов , наполненных содержимым из и остальных буквеных тегов есть 100 штук.
Из формы сайта через GET-запрос посылается полный набор для изменения содержимого одного из таких контейнеров.
...script.php?id=2&n=Procyon1&f=f&t=d&r=r&l=314&q=u&e=%3F&b=%3F&p=%3F&s=%3F&c=%3F&sp=1&bm=4...
И мне нужно заменить содержимое контейнеров на поступившие данные из формы.
Пока сделал вот так (через содержимое в ходе цикла нахожу ссылку на нужный :
$sdb = simplexml_load_file('db.xml');
$i=$_GET['id'];
foreach($sdb->block as $block){
if ($i==$block->id){
foreach ($_GET as $key=>$value)
{
$block->{$key}=$value;
};
}
};
$sdb->asXml('db.xml');
Вопрос : как построить конструкцию поиска блока по итератору, который выражен переменной, хранящей число,
чтобы вместо двух циклов с получением ссылки на $block в $block->{$key}=$value
можно было использовать что-то типа $sdb->block[ $i ]->{$key}=$value по аналогии с $sdb->block[2]->{$key}=$value ?