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

Php 警告:解析SimpleXML时偏移量类型非法,php,simplexml,Php,Simplexml,本质上,我正在尝试解析一个模式文档,以及simpleXML中的一个背包文档$defindexes获取给定$backpack对象中项目的所有索引。然后,我尝试在backpack=>image\uURL中创建这些项目的$itemmap,我使用find\u tf2\u allitem\u node\u by\u defindex()轮询它,并将$schema作为参数提供给它,然后检查每个索引。我认为我向函数传递$items的方式有问题,因为没有返回值。我猜这与$defindexes是一个对象数组这一事

本质上,我正在尝试解析一个模式文档,以及simpleXML中的一个背包文档$defindexes获取给定$backpack对象中项目的所有索引。然后,我尝试在backpack=>image\uURL中创建这些项目的$itemmap,我使用find\u tf2\u allitem\u node\u by\u defindex()轮询它,并将$schema作为参数提供给它,然后检查每个索引。我认为我向函数传递$items的方式有问题,因为没有返回值。我猜这与$defindexes是一个对象数组这一事实有关

这个怎么了

示例$defindexes转储:

$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;
}

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

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" }
    ...
}