警告:非法偏移类型在解析SimpleXML时

时间:2012-07-14 22:08:27

标签: php simplexml

$defindexes = get_tf2_allitem_node($backpack,"defindex");

$itemmap = array();
foreach ($defindexes as $items)
{
    $imageURL = find_tf2_allitem_node_by_defindex($schema,$items,"image_url");
    $itemmap[$items] = $imageURL;
}

基本上我正在尝试使用simpleXML解析模式文档和背包文档。 $ defindexes获取给定$ backpack对象中项目的所有索引。我正试图在backpack =>中创建项目的$ itemmap。这些项的image_url,我使用find_tf2_allitem_node_by_defindex()进行轮询,并将$ schema作为参数提供,并遍历每个索引。我认为将$项传递给函数的方式有问题,因为没有值返回。我猜它与$ defindexes是一个对象数组这个事实有关?

这有什么问题?

示例$ defindexes dump:

array(146) { 
    [0]=> object(SimpleXMLElement)#10 (1) { [0]=> string(2) "42" }   
    [1]=> object(SimpleXMLElement)#8 (1) { [0]=> string(2) "44" }  
    [2]=> object(SimpleXMLElement)#11 (1) { [0]=> string(2) "37" } 
    [3]=> object(SimpleXMLElement)#12 (1) { [0]=> string(3) "116" }
    ...
}

1 个答案:

答案 0 :(得分:0)

我通过修改$ defindexes来解决这个问题,以包含一个转换为字符串的SimpleXML对象数组。通过这种方式,foreach循环能够完成,因为find_tf2_allitem_node_by_defindex()函数现在将接收要解析的字符串。