作者STARGAZERs (星之影)
看板Flash
標題[問題] 陣列(Array) 我搞不懂你阿 @@"
時間Thu Apr 22 12:56:10 2010
今天在修改 Flash 當中一段 code
要從外部抓資料回來 因為一次只能傳回一個 return
但是要傳的資料又很多決定用 Array 來收
因為使用 AMF PHP 所以傳回來的資料會獨自出現在一個 Function 當中
大概會象下面這種格式
connection.call(xxxx); // 呼叫 AMF PHP 要資料
function get (A1:Array) { // 接收資料的 function
}
因為收進來的資料 需要給其他 Function 使用
只好宣告一個全域變數的陣列(Array)
var A0:Array = new Array;
原本直接打 A0 = A1; 會出問題 不知道為甚麼在我打這篇時又可以了 @@"
所以複製陣列可以直接 A0 = A1?
我原本都還打算用 for 回圈 + push 來複製陣列了
那我之前的 bug 是在鬼打牆甚麼 ><"
順便把查找資料的心得附上...
清空陣列 array = new Array;
不過還有更妙的寫法(更快) array.length = 0; (查到的時候很傻眼)
複製陣列的另外一個寫法 var arrayCopy = array.concat();
不過我測試一下好像也可以用
var arrayCopy : new Array;
arrayCopy = array.concat;
不過還是覺得很奇怪阿...
明明早上用
var A1:Array = new Array( , , , ,);
var A2:Array = new Array;
A2 = A1;
還會出現 bug 不給我用 怎麼突然又可以了...
有沒人能告訴我這是怎麼個鬼打牆法阿 ><"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.241.138
→ aquarianboy:如果要傳像是陣列型態的複雜型態,我會建議把它序列化 04/22 14:18
→ aquarianboy:(serialize),到AS裡再把它解開(deserialize) 04/22 14:19
→ aquarianboy:JSON格式還不錯用,而且php跟AS3都找得到支援的 04/22 14:19
→ STARGAZERs:PHP 當中做序列化到 AS 要怎麼解開序列阿? 04/23 12:10
→ aquarianboy:回文不是有寫了?! 04/23 12:20
→ STARGAZERs:恩... 從看一次之後明白了... 04/23 12:32
→ STARGAZERs:簡單來說... 必須要另外 import 函示 flash 沒內建 04/23 12:32
→ STARGAZERs:應該是這樣沒錯吧 O_O 04/23 12:33
→ STARGAZERs:感謝版主大人的辛苦回文!! 04/23 12:33