Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2012, 09:05
Новичок на форуме
Отправить личное сообщение для Svist Посмотреть профиль Найти все сообщения от Svist
 
Регистрация: 03.03.2012
Сообщений: 5

Вопрос связаный с JSON и массивами
Всем привет!
У меня таккой вопрос, собственно покажу на примере :
$Z = new Array();
$Z['x']= new Array();
$Z['y']= new Array();
$Z['x']['q']="qqqqq";
$Z['y']['w']="wwwww";
alert( JSON.stringify($Z));


и получаю вот это "[]" Собсвенно почему ?? И как мне перевести подобный массив в строку для последующей передаче на сервер .. и там его распаковки средствами пхп?? Проблема должна решаться как то легко но как не пойму.
За ранее спасибо!

Последний раз редактировалось Svist, 03.03.2012 в 09:33.
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2012, 09:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Не надо на JavaScript писать также, как на PHP, это разные языки.

var Z = {
    x: {
        q: 'qqqq'
    },
    y: {
        w: 'wwww'
    }
};
alert(JSON.stringify(Z));
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2012, 12:22
Новичок на форуме
Отправить личное сообщение для Svist Посмотреть профиль Найти все сообщения от Svist
 
Регистрация: 03.03.2012
Сообщений: 5

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+' руб.');
		}
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2012, 15:32
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

вы, похоже, путаете
массивы http://learn.javascript.ru/array
и объекты http://learn.javascript.ru/objects
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2012, 16:18
Новичок на форуме
Отправить личное сообщение для Svist Посмотреть профиль Найти все сообщения от Svist
 
Регистрация: 03.03.2012
Сообщений: 5

Вообщем перевел Индексы с текстовых на числовые и все нормально полочилось всем спасибо тема закрыта !
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по JSON z700i Общие вопросы Javascript 9 17.09.2016 22:15
Вопрос по json spahi4 jQuery 6 01.11.2011 23:05
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10
вопрос по jSon + Ajax Beck Events/DOM/Window 47 07.10.2009 15:52