将arraycollection传递给PHP

时间:2012-06-20 09:15:33

标签: actionscript-3 flex flash-builder

我尝试将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,但如何知道在女巫的顺序键中出现? 或者,如果不可能,如何将密钥名称传输到php并在php脚本中拆分字符串以将字符串转换为数组? 感谢

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分: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;  
    }