我尝试将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脚本中拆分字符串以将字符串转换为数组? 感谢
答案 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;
}