Вопрос связаный с JSON и массивами
Всем привет!
У меня таккой вопрос, собственно покажу на примере : $Z = new Array(); $Z['x']= new Array(); $Z['y']= new Array(); $Z['x']['q']="qqqqq"; $Z['y']['w']="wwwww"; alert( JSON.stringify($Z)); и получаю вот это "[]" Собсвенно почему ?? И как мне перевести подобный массив в строку для последующей передаче на сервер .. и там его распаковки средствами пхп?? Проблема должна решаться как то легко но как не пойму. За ранее спасибо! |
Не надо на JavaScript писать также, как на PHP, это разные языки.
var Z = { x: { q: 'qqqq' }, y: { w: 'wwww' } }; alert(JSON.stringify(Z)); |
Kolyaj Спасибо за совет... понял.
А если я этот массив формирую в цикле как же тогда быть ? вот прям кусок кода, разбератся в нем не надо Просто может посоветуете как мне быть и передать массив $Z если я его наполняю подобным образом ..: for (i = 1; i <= $PAGE[$ThisPage]['pid']; i++) { if((trim(giev('part'+i))=='')&&(Alr==1)){ Alr=2; $Z['error']['txt']=$Z['error']['txt']+" - Есть не заполненные поля<br />"; } if (document.getElementById('p1pr'+i)){ n++; $Z['price'][n]= new Array(); // текущая строка в прайсе заказа if (trim(giev('p1pr'+i))==''){siev('p1pr'+i,'0');} if (trim(giev('pkolv'+i))==''){siev('pkolv'+i,'1')} sum=sum+(parseFloat(strrx(",",".",giev('pkolv'+i)))*parseFloat(strrx(",",".",giev('p1pr'+i)))); $Z['price'][n]['part']=trim(giev('part'+i,'en')); $Z['price'][n]['pnam']=trim(giev('pnam'+i,'en')); $Z['price'][n]['panalog']=trim(giev('panalog'+i,'en')); $Z['price'][n]['pkolv']=strrx(",",".",trim(giev('pkolv'+i,'en'))); $Z['price'][n]['p1pr']=strrx(",",".",trim(giev('p1pr'+i,'en'))); $Z['price'][n]['p2pr']=trim(giev('p2pr'+i,'en')); $Z['price'][n]['pavto']=trim(giev('pavto'+i,'en')); $Z['price'][n]['pdscr']=trim(giev('pdscr'+i,'en')); } $Z['price'][0]= new Array(); $Z['price'][0]['count']=n; $Z['price'][0]['summ']=sum; sie('prcalc',sum+' руб.'); } |
вы, похоже, путаете
массивы http://learn.javascript.ru/array и объекты http://learn.javascript.ru/objects |
Вообщем перевел Индексы с текстовых на числовые и все нормально полочилось всем спасибо тема закрыта !
|
Часовой пояс GMT +3, время: 03:47. |