2009-12-04 106 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 - 這可能是加載在許多變量的最佳方式。