2009-12-04 71 views
0

我想将超过50项变量从php传递到flash。其实我想传递数组与foreach语句,循环访问数组,循环索引分配给变量和Flash再次通过循环接受PHP值。这可能吗?使用FlashVars将变量传递给SWF

如果通过foreach或循环语句传递值是不可能的,我想打破标记中的新行。我如何在FlashVars标签中打破一条新线?如果你觉得这样使用string.split(",");

+0

感谢您的所有答案。实际上,我通过在php中使用imploding数组传递字符串,并在Flash中使用split()。主要问题是我发送给Flash的参数超过了20个。所以我想为标签分行。我试图使用两个FlashVars标记,但只有FlashVars的第一行可以在Flash中检索。我能怎么做?? – SoeTheingiLin 2009-12-04 10:07:50

回答

2

您可以通过值作为一个逗号分隔的字符串(提供的值没有逗号,当然)正在推动flashvars超出其极限,您可能会考虑从SWF内部向您的PHP页面发回HTTP请求,并将其发送给您想要的任何数据。

+0

非常感谢,Amarghosh! 我在php中使用imploding数组传递字符串,并在flash中使用split()。 主要问题是我发送给Flash的参数超过了20个。所以我想为标签打破一行。我试图使用两个FlashVars标记,但只有FlashVars的第一行可以在Flash中检索。我能怎么做?? 如果我的问题太蠢,请原谅我。我真的迷失了! 感谢您的帮助。 – SoeTheingiLin 2009-12-04 09:23:24

+1

Afaik,你不能有多个flashvars。参数数量超过20的有什么不对?它会破坏还是只关心这样生成的html代码的可读性? – Amarghosh 2009-12-04 09:28:36

0

这样你可以让他们到闪存阵列 -

0

你可以考虑使用一个URLLoaderExternalInterface调用get从功能或页面的信息,许多标签,否则,你可以只是把名单一起这样的事情: 假设$ vararray是你想要瓦尔数组通过

PHP: 
    $flashvars = ""; 
    $init = true; 
    for($i = 0; $i<count($vararray); $i+=1){ 
    if($init == true){ 
    $init=false; 
    } 
    else{ 
    $flashvars.=& 
    } 
    $flashvars.="var$i=".$value; 
    } 

然后在Flash

0

或者使用$ Flash变数字符串的Flash变数嵌入和运行通过loaderInfo.Parameters阵列老老实实只使用XML - 这可能是加载在许多变量的最佳方式。