Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

json_encode и многомерные массивы

Обсуждение темы json_encode и многомерные массивы в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Возможно ли передавать в js многомерные массивы сделанные через json_encode? Например: PHP код: { "1" :{ "el1" : "22" , "el2" : "val1" ...


Закрытая тема
 
Опции темы
Старый 18.02.2009, 17:37   #1
Возможно ли передавать в js многомерные массивы сделанные через json_encode?

Например:
PHP код:
{"1":{"el1":"22","el2":"val1","el3":"val3""arr":{"1":"1""2":"2"}},
  
"2":{"el21":"22","el22":"val21","el3":"val3""arr2":{"1":"1""2":"2"}}

у меня возвращает только {} здесь почему-то. Начал сомневаться что вообще возможно передавать многомерные массивы.
Код:
$.post("file.php", {val:value}, function(data){
    alert(data); // {}
    alert(eval(data)); //  {}
    //...
}, "json");
Добавлено через 3 часа 11 минут

Решил проблему, жалко только полдня потерял)

в file.php надо было написать преобразование в utf-8
PHP код:
print html_entity_decode(json_encode($arr), ENT_QUOTES'UTF-8'); 
было
PHP код:
print json_encode($arr
Хотя у меня весь сайт в utf-8, я даже и не подозревал что тут может быть другая кодировка. Причем для одномерных массивов все нормально работало.

Добавлено через 14 минут

Хотя теперь я массив в js вижу и могу обратиться по индексу, однако метод .length возвращает undefined

Добавлено через 21 минуту

Я тут никому не мешаю разговором самим с собой?))))

Length не работал потому что массив имел индексы от 2 до 4.
Получается что JS не определяет размер массива если отсутствует нулевой индекс в многомерном массиве.
Не знал таких тонкостей.

Последний раз редактировалось Anthony; 18.02.2009 в 17:38.. Причина: Добавлено сообщение
 
Старый 18.02.2009, 17:37
Ссылки
Старый 19.02.2009, 10:20   #2
Цитата:
Хотя теперь я массив в js вижу и могу обратиться по индексу, однако метод .length возвращает undefined
Потому что это не массив, а объект. Перебирайте элементы через for var in object { ... }
 
Старый 19.02.2009, 10:20
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сессия не сохраняет массивы battrack ASP, Perl, PHP и MySQL 6 13.12.2007 09:09


Текущее время: 13:50. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум