2012-06-20 46 views
0

我嘗試將Arraycollection傳遞給php。 要做到這一點,我使用這個功能:將arraycollection傳遞給PHP

public function arrayCollectionToString(myArrayCollection:ArrayCollection):String 
    { 
     var collStr:String = new String(); 
     for each(var obj:Object in myArrayCollection) 
     { 
      collStr += "["; 
      var i:int=0; 
      for each(var obj2:Object in obj) 
      { i++; 

       if(i==1){ 
        collStr += obj2.toString(); 

       }else{ 
        collStr +=", "+ obj2.toString(); 

       } 
      } 
      collStr += "]"; 
     } 
     return collStr; 
    } 

此功能在字符串變換ArrayCollection的,但如何知道巫婆爲了高調亮相? 或者,如果這是不可能的,如何將keyname傳遞給php,並在php腳本中拆分字符串以將字符串轉換爲數組? 謝謝

+0

你爲什麼將您的ArrayCollection成字符串?你使用哪種遠程方法? – RIAstar

+0

我將arraycollection轉換爲字符串,因爲我使用httpservice和post方法與php進行通信。 – Flex60460

回答

3

Flash應用程序和php腳本之間交換數據的最佳方法是使用json。你可以在這裏看到更多的細節:http://digitalmemo.neobie.net/2009/10/22/passing-object-from-flash-as3-to-php/,這裏http://digitalmemo.neobie.net/2009/10/22/passing-object-from-flash-as3-to-php/。您可以使用as3corelib(http://code.google.com/p/as3corelib/)將您的Flash本機數組轉換爲json,並通過php中的json_decode()方法處理json。

+0

+1同意使用json – Ryan

0

我發現,包括我的功能陣列OK鍵的解決方案:

var keys:Array = ["idLien", "codeRDV", "nomRDV"]; 


var sGrpRDV:String = new ArrayFunction().arrayCollectionToString2(DP_GRP_RDV_D,keys); 


    public function arrayCollectionToString2(myArrayCollection:ArrayCollection, myOrderKey:Array):String 
    { 
     var collStr:String = new String(); 
     for each(var obj:Object in myArrayCollection) 
     { 
      collStr += "["; 
      var i:int=0; 
      for each (var k:String in myOrderKey) 
      { 
       i++; 
       if(i==1){ 
        collStr += obj[k]; 

       }else{ 
        collStr +=", "+ obj[k]; 

       } 
      } 

      collStr += "]"; 
     } 
     return collStr; 
    }