0
$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 对象中项目的所有索引。然后我试图在背包中创建项目的 $itemmap => 这些项目的 image_url,我正在使用 find_tf2_allitem_node_by_defindex() 对其进行轮询,并将 $schema 作为参数提供给它,并遍历每个索引。我认为我将 $items 传递给函数的方式有问题,因为没有返回值。我猜这与 $defindexes 是一个对象数组有关吗?

这有什么问题?

示例 $defindexes 转储:

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

1 回答 1

0

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

于 2012-07-14T22:14:57.323 回答