2013-12-05 4 views
0

Я новичок в PHP.When попытке сохранить переменную в массиве я получил эту ошибку ** Массив для преобразования строки ** PHP код является:Массив ошибки преобразования строки при анализе данных XML в PHP

$record = simplexml_load_file('demo.xml'); 
foreach ($record as $item):  
    $a=$item->item2->record->p21; 
    $b=$item->item2->record->bq_21; 
    echo $arr1 = array($a,$b); 
endforeach; 

я хочет значение только .... Если используется print_r, то его дает этому о/р

Array ([0] => SimpleXMLElement Object ([0] => 26) [1] => SimpleXMLElement Object ([0] => 1)) 

Я хочу, чтобы это только

26 1 
+0

Кажется, вам нужно '$ arr1' для дальнейшего использования, поэтому просто удалите оператор' echo' (хотя $ arr1 перезаписывается каждый раз, когда выполняется 'foreach'), или если вы хотите просто распечатать результат, тогда' echo $ а «. '$ b' вот так. –

ответ

1

Использование print_r() вместо эхо

print_r(array($a,$b)); 

Вы должны бросить SimpleXML объект в строку. (string)$a и (string)$b

+0

Если я использую это, то он дает o/p в этом формате.Array ([0] => SimpleXMLElement Object ([0] => 26) [1] => SimpleXMLElement Object ([0] => 1)) .. Мне просто нужно значение – user3068785

+0

Вам нужно наложить simpleXML Object на строку. (Строка) $ а – Oyeme

0
$record = simplexml_load_file('demo.xml'); 
foreach ($record as $item):  
    $a=$item->item2->record->p21; 
    $b=$item->item2->record->bq_21; 
    $arr1 = array($a,$b); 
    print_r($arr1); 
endforeach; 
Смежные вопросы