PDA

Просмотр полной версии : Вопрос о передаче масссива в LoadVars из Php


vadikz
17.04.2003, 20:04
Ситуация такая: С помощью пхп-скрипта нужно передать массив текстовых данных в мувик. C помощью LoadVars переменные я принимаю со скрипта, а ячейки массива не получается. Я проверял, данные передаются, а когда ссылаюсь к ним как a[1]...a[n] то пишет что undefenid. Когда преобразовывал обьект LoadVars в строку, то все нормально вижу их в формате a[1]=...&a[2]=...&...a[n]=... при трассировке.

Помогите, как можно получить в мувик массив данных с пхп-скрипта.

Спасибо.

Usnul
19.04.2003, 22:27
дождись их загрузки, они же не махом там оказываются, или опиши по подробнее, я из того что понял только это могу посоветовать. Короче ждать надо пока они не загрузятся, и еще не забывай про то, где находятся данные. если ты их в парент прописал, то запомни куда, если в рут, то и обращайся через рут. короче опиши по подробнее, я нифига не понял, или я туп, или я сонный :)

llllllllll
20.04.2003, 23:46
можно передавать переменные в виде 0=value1&1=value2& ... n=value(n+1)

тогда можно будет сделать вот так:
v = new LoadVars();
v.load("php.php");
v.onLoad = function(){
trace(this[0]); // выдаст "value1"
}

, но массива естественно не будет, поэтому придется все равно, что-то делать с данными, к примеру:

a = new Array();
x = new LoadVars();
x.load("php.php");
x.onLoad = function(){
for(i in this) if(!isNaN(parseFloat(i))) a[i] = this[i];
}

правда после такого, возникает вопрос не легче ли сплитом воспользоваться =)))))

mort
22.04.2003, 15:07
В большом массиве намного быстрее выборка идет, чем в большой строке.
Все-таки, есть хоть какие-нить способы массивы передавать?

DeliMIter
23.04.2003, 11:53
Строка: yourarray=value1||value2||value3||..||valueNLV = new LoadVars();
LV.onLoad = function() {
trace(this.yourarray.split("||"));
}
LV.load("yourphp.php");Что-то вроде правды. Смысл можно уловить.

Дело в том, что прописывая текст a[n]=valueN в пэхапэшке, ты задяешь имя переменной такое, что обращаться к ней придется LV["a[n]"], и никак по другому. Массивы же проще передавать как показал я - через строки с разделителем.