У меня есть XML файл для API. Ответы API каждый раз "Errormesage: ожидаемый аргумент типа" string "," array "given".
$SimpleXML_loaded_File = simplexml_load_file("http://graphics.edc-internet.nl/b2b_feed.php?key=tc62te28wt3e2t73ctr9c1cw42601337&sort=xml&type=xml&lang=de");
foreach ($SimpleXML_loaded_File->product as $product) {
/*$client->post('articles', array(
'name' => $product->titel,
'taxId' => 1,
'supplier' => $product->merk,
'mainDetail' => array(
'number' => $product->artikelnummer
)
));*/
echo "<pre>";
var_dump($product->artikelnummer);
echo "</pre>";
}
Если я var_dump вывод, я не получаю строку, я получаю объект
object(SimpleXMLElement)#6 (1) {
[0]=>
string(7) "0633178"
}
Как получить только строку?
SimpleXML прост по какой-то причине. При повторении элемента он автоматически преобразует объект в строку. Вы также можете явно передать его одному:
echo (string)$product->artikelnummer;
number
параметр в строку: 'number' => (string)$product->artikelnummer
Эта проблема связана с типом литья. Пожалуйста, проверьте.
echo (string)$product->artikelnummer;
var_dump()
не запрашивает строковое значение, поэтому вы могли просто выбрать неправильную функцию. Возможно, вы искалиstrval()
вместо этого. Или многие другие строковые функции в PHP.