2012-11-28 18 views
0

我需要從PHP接收具有多個值的變量在AS3,在as3中接收php變量的多個值?

變量是

$errors = "1, 4, 5" 

但是它改變了值。 我需要的價值觀和「讀」出來,並根據什麼樣的價值觀有我應該亮點對應的領域,如錯誤給了我1

er_1.gotoAndStop(2); 
er_1.visible = true; 

,這將是很容易用簡單的if {}如果我收到1個值,但我不知道如何檢查多個值,請幫忙?

回答

0

如果您的值由逗號(或任何常見字符串)分隔,則可以沿該逗號分隔字符串以獲取字符串數組。

例子:

var fromPhp:String = "1, 4, 5"; 

// Note that it is splitting across the string ", " since 
// you have comma and a space that separates each number 
var errors:Array = fromPhp.split(", "); 

trace(errors.length) // prints 3, as you had 3 values 
trace(errors[0]); // prints 1 
trace(errors[1]); // prints 4 
trace(errors[2]); // prints 5 

需要注意的是內部錯誤的所有值仍然字符串,所以你可能需要分析它們放回整數。

+0

減去在這個例子中的分割是通過給分隔符添加空格 - 那麼你必須小心實際上它在PHP的字符串中,例如。 「1,4,5」將返回長度爲1的錯誤數組[0] =「1,4,5」; –

+0

謝謝,但是,1,4,5不是值,值會改變,它可能是從1到9(1,2,3,...,9),或者甚至可能是空的。我也必須檢查它給了我什麼樣的價值,就像它裏面有9個值一樣。你可以幫我嗎? – Alex

+0

是的,正如Lukasz所說,關鍵在於確保分隔字符串(分隔符)與php匹配。值的長度不是問題,不管它是3還是9或50或100的值。數組的長度將根據split()方法的值數量而變化。 – mitim

0

您可以接收單個值作爲字符串,然後將字符串拆分爲數組。

var receivedValue:String = ev.target.data; 
arrayOfErrors:Array = receivedValue.split(","); 

trace(arrayOfErrors[0]); 
//traces 1