1

PHPスクリプトからの変数をフラッシュで整理する方法に問題があります。理想的には、変数をループできるように配列型の形式にする必要があります。以下は、使用するコードです。

    function completeHandler(evt:Event){ // after loading the php
    var symbolsArray:Array = new Array()                      
    symbolsArray.push(evt.target.data.symbol_1);// php variable named: symbol_1, symbol_2
    trace(evt.target.data); 
    }

上記はすべて機能しており、PHP変数はsymbol_1、symbol_2などとしてリストされています。

各変数を個別に配列にプッシュする代わりに、次の行に沿ってループが必要です。

    function completeHandler(evt:Event){ 
    var symbolsArray:Array = new Array() 
    var counter =1                     
    symbolsArray.push(evt.target.data.symbol_+counter); this is the issue
    trace(symbolsArray[0]); //returns NaN 
    }

以下は、アイデアを与えるためにフラッシュするphpreturnvarsです。

      $returnVars['symbol_1'] = $virtualReel1[0];
      $returnVars['symbol_2'] = $virtualReel1[1];
      $returnVars['symbol_3'] = $virtualReel1[2];
      $returnVars['symbol_4'] = $virtualReel2[0];
      $returnVars['symbol_5'] = $virtualReel2[1];
      //etc
      $returnString = http_build_query($returnVars);
      echo $returnString;
4

2 に答える 2

2
 symbolsArray.push(evt.target.data["symbol_"+counter]);

オブジェクトのプロパティを動的にクエリする必要がある場合は、動的に形成できる文字列キーを使用して、オブジェクトを配列またはディクショナリとしてアドレス指定します。何でも動作します。

于 2013-03-27T05:16:35.620 に答える
1

返されたデータはオブジェクト(オブジェクトを含む)として扱うことができるため、次のようにループすることができます。

function completeHandler(evt:Event)
{
    var symbolsArray:Array = new Array();
    for each (var obj:Object in evt.target.data)
    {
        symbolsArray.push(obj);
    }
}

すべてのアイテムが同じタイプであることがわかっている場合は、オブジェクトをキャストできます。例:すべての数字の場合:

symbolsArray.push(Number(obj));

または文字列:

symbolsArray.push(String(obj));
于 2013-03-27T05:18:40.220 に答える