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 オブジェクトの配列を含めることで、これを解決しました。このようにして、find_tf2_allitem_node_by_defindex() 関数が解析する文字列を受け取るため、foreach ループを完了することができました。

于 2012-07-14T22:14:57.323 に答える