Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Altaxar от 06 Апреля 2007, 13:51:54

Название: передача массива с PHP в JavaScript
Отправлено: Altaxar от 06 Апреля 2007, 13:51:54
Подскажите если ли другой, более гуманный способ передать массив из PHP в JavaScript.
Делаю так:
(код в Smarty)

price = new Array();
{foreach item=item key=key from=$form->value.price.price}
price[{$key}]= new Array();
{foreach item=item2 key=key2 from=$item}
price[{$key}][{$key2}]= new Array();
{foreach item=item3 key=key3 from=$item2}
price[{$key}][{$key2}][{$key3}]= new Array();
{foreach item=item4 key=key4 from=$item3}
price[{$key}][{$key2}][{$key3}][{$key4}]= new Array();
{foreach item=item5 key=key5 from=$item4}
price[{$key}][{$key2}][{$key3}][{$key4}][{$key5}]= new Array();
{foreach item=item6 key=key6 from=$item5}
price[{$key}][{$key2}][{$key3}][{$key4}][{$key5}][{$key6}]={$item6};
{/foreach}
{/foreach}
{/foreach}
{/foreach}
{/foreach}
{/foreach}
 
В итоге получаю

price = new Array();
price[0]= new Array();
price[0][0]= new Array();
price[0][0][0]= new Array();
price[0][0][0][0]= new Array();
price[0][0][0][0][3]= new Array();
price[0][0][0][0][3][0]=100;
price[0][0][0][0][3][1]=123;
price[0][0][0][0][3][2]=2770;
price[0][0][0][0][3][3]=68;
price[0][0][0][0][0]= new Array();
price[0][0][0][0][0][0]=88;
price[0][0][0][0][0][1]=108;
price[0][0][0][0][0][2]=2438;
price[0][0][0][0][0][3]=59;
price[0][0][0][0][1]= new Array();
price[0][0][0][0][1][0]=86;
price[0][0][0][0][1][1]=106;
price[0][0][0][0][1][2]=2382;
price[0][0][0][0][1][3]=58;
price[0][0][0][0][2]= new Array();
price[0][0][0][0][2][0]=84;
price[0][0][0][0][2][1]=103;
price[0][0][0][0][2][2]=2327;
price[0][0][0][0][2][3]=57;
................

и строк приблизительно 100-200.
Название: передача массива с PHP в JavaScript
Отправлено: for_i_0 от 15 Апреля 2007, 23:52:57
Скорее всего легче использовать рекрсивную фнкцию для перебора и распечатки массива в JavaScript
Название: передача массива с PHP в JavaScript
Отправлено: Altaxar от 16 Апреля 2007, 15:46:51
не в этом дело, я точно знаю глубину, и через рекурсию в данный момент будет код длинее, причем этот код в шаблоне (Smarty).
мне интересно как запаковать, тоесть структуру, чтобы JavaScript это легко разпаковал. например serialize();   unserialize(); в PHP.
Думаю написать свои функции, тут легче и через рекурсию будет сделать.
Но случайно не кто не знает уже готовые скрипты?