2011-02-11 24 views
0

我有參數等的數組:Flash:rest參數和數組:如何?

params["username"]= "john"; 

params["age"] = "25"; 

params["country"] = "France"; 

params["something"] = something; 

是可變的 ,我需要把它作爲其餘的參數:

nc.call("myMethod", params["username"], params["age"], params["country"]...); 

PARAMS還沒有固定的大小。

這可能嗎?

+0

什麼是`nc.call`?這是一個呼籲到Javascript,NetConnection FMS,其他AS3功能?爲什麼要傳遞`params`並讓接收函數處理具有多個屬性的單個對象? – sberry 2011-02-11 01:44:06

回答

1

根據你想要做什麼,似乎你可以只說nc.call(「myMethod」,params),不是嗎?

或者你正在尋找AS3的其餘語法?在這種情況下,這可能有所幫助:http://www.sephiroth.it/weblog/archives/2006/06/actionscript_3_rest_parameter.php

但要小心,它看起來像你試圖在那裏做一個NetConnection調用,所以如果你實際調用一個PHP函數實例,那麼這將不起作用。在AS3中定義方法簽名時使用其餘運算符(...)。

如果你只是想通過AMFPHP或類似的東西把一個參數數組傳遞給PHP函數,那就在我的第一句話中說一下,只需傳遞params對象。在PHP方面,你會把它當作一個關聯數組($ params-> username,$ params-> age等)

希望有所幫助,如果它不請你更清楚一點你正在努力完成!

乾杯, MYK

0

只對你的問題的這一部分着眼現在:

PARAMS沒有固定大小。

這可能嗎?

是的,當你像對待哈希表一樣處理哈希表時,它是絕對有可能的。事實上,Adobe的liveocs明確表示你不應該這樣做。我猜這是出於這些原因,以減少由於使用普通Object()模糊不清而導致的情況。

無論如何,Array.length只返回一個介於0和int.MAX_VALUE之間的值。如果您已將一個變量分配給一個不是介於0和int.MAX_VALUE之間的整數的數組,它將不會包含在.length屬性的返回值中。