Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   обращение к массиву (https://javascript.ru/forum/events/56772-obrashhenie-k-massivu.html)

dalexra51 03.07.2015 17:23

обращение к массиву
 
Всем привет!

В общем из РНР принимаю через json_encode($myarr) массив многомерный и получаю что-то типа этого
var data = {"a0":{"qq":"99999","ww":"000000"},"a1":"444"};


не работает ни data.a0.length ни data.length.....

в общем подскажите как лучше передать многомерный массив (не только ассоциативный но и индексный) чтоб нормально с ним работать в и при это еще и удобно отдать обратно в РНР чтоб там сериализовать и хранить...

спасибо

kostyanet 03.07.2015 17:25

Потому что это не массив, а обхект получается в жабе.

И не многомерный, а массив массивов.

Safort 03.07.2015 17:26

dalexra51,
Цитата:

не работает ни data.a0.length ни data.length.....
Этож объект. Надо так:
data.a0.qq.length
data.a0.ww.length
data.a1.length

kostyanet 03.07.2015 17:29

Внизу смотрите http://stackoverflow.com/questions/5...ociative-array - или добавьте прототип подсчета, или самое последнее сообщение.

kostyanet 03.07.2015 17:30

Цитата:

Сообщение от Safort
data.a0.qq.length

Он количество элементов массива хочет считать.

dalexra51 03.07.2015 17:45

да там не количество элементов надо считать,

ЗАДАЧА в то, чтоб принять массив в том виде в котором он в РНР и полноценно работать с ним (как в РНР), а потом надо будет вернуть его обратно. (РНР его сериализирует и хранит у себя в базе)

передавать могу все в json or serialize.....

kostyanet 03.07.2015 18:10

Цитата:

Сообщение от dalexra51
да там не количество элементов надо считать,

Тогда в чем проблема?

Кстати, при обратной передаче не забудьте поставить true в json_decode, а то опять получите набор из stdClass объектов.

kostyanet 03.07.2015 18:18

Цитата:

Сообщение от dalexra51
как в РНР

Не получится. То есть надо как в JS. Например в JS сроду не было функций типа current() next() previous() reset() isset() unset() и тп.


Часовой пояс GMT +3, время: 22:45.