У меня есть список элементов, которые я хочу передать в API через массив, но он построен из отдельного объекта.Я думал, что мог бы перебрать элементы в объекте, чтобы создать переменную, которую я мог бы затем передать массиву, но что-то отключилось.Это, вероятно, легче увидеть, чем объяснить.
Я использую следующий код:
//Set up the parser object
$parser = new XMLParser($xml);
$parser->Parse();
$skuList = '';
// Pull the inventory of the requested SKUs from Magento for comparison later
foreach($parser->document->product as $product)
{
$skuList .= "'" . $product->sku[0]->tagData . "',";
}
echo $skuList;
print_r( $proxy->call($sessionId, 'product_stock.list', array(array($skuList))));
Если я запускаю это в командной строке, я получаю
'1DAFPOT5','8GAIL','26BULK30',Array
(
)
Теперь, если я изменю строку print_r, поместив содержимое переменной непосредственно в вызов, как это
print_r( $proxy->call($sessionId, 'product_stock.list', array(array('1DAFPOT5','8GAIL','26BULK30', ))));
Я получу этот вывод, который я ищу
'1DAFPOT5','8GAIL','26BULK30',Array
(
[0] => Array
(
[product_id] => 2154
[sku] => 26BULK30
[qty] => 19.0000
[is_in_stock] => 1
)
[1] => Array
(
[product_id] => 2255
[sku] => 8GAIL
[qty] => 16.0000
[is_in_stock] => 1
)
[2] => Array
(
[product_id] => 2270
[sku] => 1DAFPOT5
[qty] => 23.0000
[is_in_stock] => 1
)
)
Я неправильно строю переменную или мне нужно передать ее в массив по-другому?