Такого рода вопрос,
Работаю с xml ,достаю оттуда цены.
<Предложение>
<Ид>92cd3a2b-c67f-11e6-801f-40167ea6074b</Ид>
<Наименование>Бумажные полотенца 2-сл ФАМИЛИЯ белые XXL 1 рул </Наименование>
<БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
<Цены>
<Цена>
<Представление>89,99 руб. за шт</Представление>
<ИдТипаЦены>4dbf47c6-1bf2-11e1-87a5-14dae9941777</ИдТипаЦены>
<ЦенаЗаЕдиницу>89.99</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление>75,98 руб. за шт</Представление>
<ИдТипаЦены>4dbf47c8-1bf2-11e1-87a5-14dae9941777</ИдТипаЦены>
<ЦенаЗаЕдиницу>75.98</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
<Цена>
<Представление>89,99 руб. за шт</Представление>
<ИдТипаЦены>674491d1-1c25-11e1-8c47-f46d04ed5207</ИдТипаЦены>
<ЦенаЗаЕдиницу>89.99</ЦенаЗаЕдиницу>
<Валюта>руб</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Количество>13.00</Количество>
</Предложение>
Вот собственно эти цены мне надо поместить в price, price1,price2
$ind = 1; //Индекс, который будет увеличиваться на единицу при каждом прохождении цикла по ценам
$str = '';// Строковое значение индекса будет прибавляться к имени переменной price, price(1), price(2)
foreach($xml_variant->Цены->Цена as $pr) // Бежим по всем ценам
{
$variant->{'price'.$str} = floatval($pr->ЦенаЗаЕдиницу); //Присваиваем переменной $purchase->$price, $purchase->$price1, $purchase->$price2 цену при каждом прохождении цикла по ценам
$ind++; // Увеличиваем индекс на единицу
$str = ind; // Присваиваем индекс строковой переменной (именно она прибавляется к имени переменной price+'', price +'1',price+'2')
}
//==
Для этого юзаю фореч и с помощью счетчика пробегаю и присваиваю значения. Но почему то 3 переменных не попадают после этого цикла.
а если как раньше, вытаскивать одну то все работает и передается дальше
$variant->price = floatval($xml_variant->ЦенаЗаЕдиницу);
Где ошибся в цикле?