Всем привет! есть массив объектов, но при выводе в json_encode этот массив сам становица объектом =( как исправить, помогите! PHP: [products] => Array ( [5] => stdClass Object ( [id] => 5 [name] => productName [priceByLine] => 3780 [price] => 70 [link] => /goods/item/id/5 [quantity] => 54 ) ) на выходе получаю это Код (Text): "products":{"5":{"id":"5","name":"productName","priceByLine":3780,"price":"70","link":"\/goods\/item\/id\/5","quantity":54},...},... а надо так Код (Text): "products":["5":{"id":"5","name":"productName","priceByLine":3780,"price":"70","link":"\/goods\/item\/id\/5","quantity":54},...],... Укажите на ошибку или помогите найти решение.... Заранее спасибо.
его нет, если ставить JSON_FORCE_OBJECT то ещё один массив станет объектом.... так что хз уже....уже каким только извратом не занимался - и пихал в массив ( PHP: foreach($g as $gg){array_push($tmp, json_encode($gg));} ) и выводил потом строкой(с заголовком)типа Код (Text): echo implode(',',$tmp); не помогает, что делать хз....
все знают, никто отвечать не хочет ) всё правильно. в javascript-е нет ассоциативных массивов - либо списки, либо объекты. а чем тебе объект не нравится? Если твой "php массив" не имеет только integer ключей, начинающихся с нуля - то тогда это будет объект. Если же в твоём массиве хоть один ключ будет не цифрой или идти не по порядку - то тогда массив будет представлен как javascript объект. тебе нужно смотреть не в сторону json_encode, а в сторону json_decode http://php.net/manual/ru/function.json-decode.html вторым параметром указывается хочешь ли ты чтобы javascript объекты были преобразованы в ассоциативные массивы в пхп (по умолчанию - нет)