|
Страница 1 из 1 [ Сообщений: 13 ] |
Автор |
Сообщение |
Eduard
участник
|
|
Загружаю через пхп текст следующего вида :
mass=[[a,b,c,d],[a,b,c,d],[a,b,c,d]] , как это текст сделать работающим массивом ?
это не работает , получается просто текст
m = new Array();
m = mass;
|
|
|
|
|
@st@l@vist@
участник
|
|
В твоем случае примерно так
var str = "[[a,b,c,d],[a,b,c,d],[a,b,c,d]]";
var tstr = str.split("[[").join("").split("]]").join("");
var list = tstr.split("],[");
for(var i = 0; i < list.length; i++)
{
list[i] = list[i].split(",");
}
Но, как ты наверное уже заметил, суть всего лишь в разделителях, так что проще выводить что-то вроде : "a,b,c,d|1,2,3,4|e,f,g,h" …
Сначала разбить по "|", а потом по ","
|
|
|
|
|
Eduard
участник
|
|
@st@l@vist@, что то я запутался , вот массив на самом деле такой
mass=[["Name1",x1,x2,x3,x4,x5,x6],["Name2",x1,x2,x3,x4,x5,x6],["Name3",x1,x2,x3,x4,x5,x6]] , то что ты выше написал , в этом случае подходит ? И еще я непонял для чего цикл нужен ? объясни если можно …
|
|
|
|
|
Король
участник
|
|
легче использовать хмл в этом случае. а если парсить твой текст в массивы то надо просто во-первых, как сказал @st@l@vist@, использовать более простой разделитель типа |, разбить текст на строки по нему, загоняя каждую строку в массив, а затем разбивать уже каждый элемент по запятым. при этом если ты захочешь обратиться к "Name", то тебе надо будет вызвать нулевой элемент дочернего массива
_________________ Здравствуй, Олимпийский!
|
|
|
|
|
@st@l@vist@
участник
|
|
Скажи лучше для начала, что такое "Name1" и x1, x2 … xn, да и вообще задачу
|
|
|
|
|
Eduard
участник
|
|
@st@l@vist@,
вот часть массива , он нахдится в базе в виде такого текста , в юникоде , без всяких "ненужных символов" ,
towns=[["Берн", 216, 282, 15, 15, 0, 1], ["Рим", 256, 355, 15, 15, 0, 2], ["Вена", 300, 273, 15, 15, 0, 3], ["Прага", 285, 251, 15, 15, 0, 4]]
я его загружаю через php в клип , и создаю там массив _root.towns , в котором должны быть загруженные данные:
Код: onClipEvent (load) { loadVariables("link", this); } onClipEvent (data) { _root.towns = new Array(); _root.towns = towns; }
|
|
|
|
|
@st@l@vist@
участник
|
|
Тогда, если нет желания или возможности менять строчку, что из базы берется, то все остальное так же …
Но кавычки нам не нужны, их тоже придется вырезать, как уже сказано выше. Все значения, что ты будешь иметь в массиве - будут строками, и "Рим" и "250" …
str = '"Hello"';
trace(str);
str = str.split('"').join("");
trace(str);
|
|
|
|
|
Eduard
участник
|
|
@st@l@vist@, Спасибо , не сразу , но я разобрался сделал массив таким "a,b,c,d|1,2,3,4|e,f,g,h" и код :
Код: var list = towns.split("|"); for (var i = 0; i<list.length; i++) { list[i] = list[i].split(","); } _root.towns = new Array(); _root.towns = list;
дальше только поменять string на number и все.
|
|
|
|
|
bE(o0L
постоянный участник
|
|
хотя лучше, конечно же, работать без делителей, чтобы без ограничений в значениях.
_________________ можно на ТЫ.
|
|
|
|
|
@st@l@vist@
участник
|
|
bE(o0L, лучше всего вооообще не работать
… а так, это ведь, решение для нашего конкретного случая Можно брать разделители вроде "~|~|~" , пользоваться XML и прочее …
|
|
|
|
|
bE(o0L
постоянный участник
|
|
да я не настаиваю
оффтопик: просто данные такого типа можно представить в ввиде: row1_name=Rome row1_population=25.000 row1_country=italy& cобрать их как loadvars (в одну строчку с & ) и в самом флеше через малюсенький цикл создать этакий dump базы данных. дико удобно работать (мне по крайней мере) а xml честно говоря парит ибо занимает больше места.
_________________ можно на ТЫ.
|
|
|
|
|
Eduard
участник
|
|
оффтопик: bE(o0L, я всегда так и делал, люди заносили данные в базу , а в этом случае это некому было делать ….
|
|
|
|
|
|
Страница 1 из 1 [ Сообщений: 13 ] |
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
|
|