Здравствуйте. Не могу корректно вставить массив в другой массив. Вот такой есть массив: PHP: $jsonData[]= array( "orderID" => $ar_sales["ID"], "dateCreate" => $ar_sales["DATE_INSERT"], /*"contents" => array( array( "productID" => 34, "productName" => "Супер товар", "quantity" => 1 ), array( "productID" => 56, "productName" => "Чудо товар", "quantity" => 3 ) ),*/ "orderDescript" => $ar_sales["USER_DESCRIPTION"], ); Как видите в нем закомментирован ключ "contents" со своим массивчиком. Вот мне и нужно туда вставить данные в такой же структуре. А вот данные которые я формирую для вставки и вот как я их вставляю: PHP: $dbBasketItems = CSaleBasket::GetList(запрос); while ($arItems = $dbBasketItems->Fetch()){ array_push($jsonData[$i]["contents"],array("productID" => $arItems["ID"], "productName" => $arItems["NAME"], "quantity" => $arItems["QUANTITY"])); } Результат выводит таким: PHP: [0]=> array(18) { ["orderID"]=> string(4) "4767" ["orderDescript"]=> NULL ["contents"]=> NULL } А нужно чтоб было таким как указывал выше. Проблема именно с "contents". Что не так делаю? Спасибо.
PHP: $jsonData[]= array( Вы уверены, что нужно именно в подмассив ? Может лучше ? PHP: $jsonData = array( PHP: array_push($jsonData[$i]["contents"] Откуда $i и что она в себе несёт ? PHP: $jsonData = array( "orderID" => $ar_sales["ID"], "dateCreate" => $ar_sales["DATE_INSERT"], "orderDescript" => $ar_sales["USER_DESCRIPTION"] ); $dbBasketItems = CSaleBasket::GetList(запрос); while ($arItems = $dbBasketItems->Fetch()){ $jsonData["contents"][] = array("productID" => $arItems["ID"], "productName" => $arItems["NAME"], "quantity" => $arItems["QUANTITY"]); }
Думаю да, потому что оно все в цикле. И нужно чтоб каждая итерация была со своим числовым индексом массива. Это переменная счетчик. Таким способом я синхронизирую в какой числовой индекс главного массива вставлять "contents". Если сделать PHP: $jsonData = array( и прописать такую конструкцию PHP: $jsonData["contents"][] = array("productID" => $arItems["ID"], "productName" => $arItems["NAME"], "quantity" => $arItems["QUANTITY"]); то выйдет такое: PHP: ["orderDescript"]=> NULL ["contents"]=> array(4) { [0]=> NULL [1]=> NULL [2]=> NULL [3]=> NULL } --- Добавлено --- Друзья, получилось так. Предварительно в массиве надо было огласить имя : PHP: $jsonData[]= array( "orderID" => $ar_sales["ID"], "dateCreate" => $ar_sales["DATE_INSERT"], "contents" => array(), "orderDescript" => $ar_sales["USER_DESCRIPTION"], ); Теперь мы четко указали что там должно быть и как оно должно записаться.