PHP+;Actionscript AMF(通过SabreAMF)-如何返回PHP数组并映射到Actionscript中的数组/对象

PHP+;Actionscript AMF(通过SabreAMF)-如何返回PHP数组并映射到Actionscript中的数组/对象,php,actionscript,amf,Php,Actionscript,Amf,快速提示:我的动作脚本技能很弱。。。我不是猴子tho,所以如果有适当的建议,我可以解决问题: 因此,我们使用SabreAMF来处理一些对后端的AMF调用 事情进展顺利 回调服务器和actionscript端的一切都按预期工作 我们希望解决的一个问题是: 现在,当我们需要返回一组(数组)数据时,我们只需通过如下操作(在php端)将其连接起来: 然后在actionscript方面,我们做了如下操作: var parts:Array=result.split('|'); /* parts[0] =

快速提示:我的动作脚本技能很弱。。。我不是猴子tho,所以如果有适当的建议,我可以解决问题:

因此,我们使用SabreAMF来处理一些对后端的AMF调用

事情进展顺利

回调服务器和actionscript端的一切都按预期工作

我们希望解决的一个问题是:

现在,当我们需要返回一组(数组)数据时,我们只需通过如下操作(在php端)将其连接起来:

然后在actionscript方面,我们做了如下操作:

var parts:Array=result.split('|');

/* parts[0] = VALUE1 , parts[1] = VALUE2 , parts[2] = VALUE3 */
上面的方法很好,但我忍不住认为一定有更干净的方法来做事情

我们想做以下几件事:

PHP端(SabreAMF):

 return array('Param1'=>'Value1','Param2'=>'Value2','Param3'=>'Value3');
并在actionscript端将此数据自动映射到数组或对象。可以返回数组并在actionscript端正确地(并且自动地,祈祷)映射它们,这是合乎逻辑的

因此,问题如下:

 return array('Param1'=>'Value1','Param2'=>'Value2','Param3'=>'Value3');
使用SabreAMF处理对基于PHP的后端的actionscript AMF调用时,是否可以返回一个数组,并让actionscript AMF处理程序自动将数据集映射到和数组(理想情况下)或对象,而不使用连接

拼接接缝有点像一个黑客


谢谢

使用JSON_encode()通过JSON将其作为字符串发送,然后在AS3中使用任何JSON库将其转换为正确的数据结构。我认为这是最简单的方法。。。也许我错了,有人会给我们更好的答案


编辑:您也可以将其作为XML字符串发送,尽管我的AS3同事始终坚持使用JSON作为更简单的替代方法

您可以使用AMF做您想做的事情。闪存将透明地解释接收到的数据。不过,您可能需要检查AmfPHP,因为Sabre AMF未维护。(免责声明:我运行AmfPHP)

JSON和XML也可以工作。AMF可能需要进行更多的设置,具体取决于您所知道的。它的主要优点是节省带宽和强大的打字能力,所以找出最适合你的


PHP AMF3扩展可以更快地集成到您的项目中

看看这个-


虽然可能稍微重一点,然后做一个简单的分裂。。。这确实感觉干净多了。谢谢
// Have your data
$data = array('Param1'=>'Value1','Param2'=>'Value2','Param3'=>'Value3');

// Encode into AMF3
$str = amf3_encode($data);

// Print to stdout (or use your way to pass it to the client)
print $str;