0

これは非常に簡単なことだと思いますが、何時間もグーグルで見つけることができませんでした. 私は ActionScript を初めて使用し、.php ファイルによって生成された文字列から変数の配列を取得しようとしています。

私のphpファイルはこれを出力します:

var1=42&var2=6&var3=string

私のActionScriptコードは次のとおりです。

public function CallAjax_VARIABLES(url:String , the_array:Array) 
{ 
 var request:URLRequest = new URLRequest(url); 
 var variables:URLLoader = new URLLoader(); 
 variables.dataFormat = URLLoaderDataFormat.VARIABLES; 
 variables.addEventListener(Event.COMPLETE, VARIABLES_Complete_Handler(the_array)); 
 try 
 { 
  variables.load(request); 
 }  
 catch (error:Error) 
 { 
  trace("Unable to load URL: " + error); 
 } 
} 

function VARIABLES_Complete_Handler(the_array:Array):Function {
  return function(event:Event):void {
  var loader:URLLoader = URLLoader(event.target); 
  //the_array = loader.data;   // this doesn't work.  
  //the_array = URLVariables.decode(loader); // this doesn't work either.
  //trace(loader.data['var1']); // this outputs 42, so I'm getting the string from php.
  };
}

あなたはすでにこれを理解していると思いますが、最終的には、次のような配列 ( In ActionScript ) が必要です。

the_array['var1']=42;
the_array['var2']=6;
the_array['var3']="string";

私は何を間違っていますか?私は何をすべきか?ありがとう!

編集: PHP から ActionScript への変数を取得しようとしています。たとえば、私の PHP ファイルは配列を html クエリに正しく変換しますが、ActionScript の配列でそれらを解析する方法がわかりません。

4

3 に答える 3

1

これに使用する必要がありますURLVariables

var vars:URLVariables = new URLVariables(e.target.data);

このようにして、次のように簡単に言えます。

trace(vars.var2); // 6

結果はインデックスベースではなく連想であるため、ここでは配列は役に立ちませんが、すべての値を簡単に取得して、単純なループで配列にスローできます。

var array:Array = [];
for(var i:String in vars)
{
    array.push(vars[i]);
}
于 2013-05-09T05:06:38.240 に答える
0

申し訳ありませんが、これは PHP の質問だと思いました。ActionScript で、これを試してください。

 var the_array:URLVariables = new URLVariables();
 the_array.decode(loader.data);

 trace(the_array.var1);
于 2013-05-08T13:47:08.730 に答える
0

parse_str 関数を探していると思います

parse_str($str, $output);
于 2013-05-08T13:48:00.913 に答える