2017-01-26 2 views
-1

Здравствуйте Stackoverflow сообщества, я немного смущен, как я могу добиться этого. Так вот как должен реагировать мой json:Поместите JSon массива внутри объекта JSON в PHP

some_array: [ 
    { 
     some_json_object_atribute_1: 
     some_json_object_atribute_2: 
     // Here i need an array 
     json_array: [ 

        ] 
    } 
    { 
     some_json_object_atribute_1: 
     some_json_object_atribute_2: 
    } 
] 

Но я получаю только одну строку из массива json. Это какая-то часть кода:

$response["chat_rooms"] = array(); 

while ($chat_room = $result->fetch_assoc()) { 
     $tmp = array(); 
     $tmp["chat_room_id"] = $chat_room["chat_room_id"]; 
     $unread_messages = $db->getAllUnreadMsgsFromChatRoom($user_id, $chat_room["chat_room_id"]); 
     while ($unread_message = $unread_messages->fetch_assoc()) { 
      // Here i need one json array 
      $tmp["message_id"] = $unread_message["message_id"]; 
     } 

     array_push($response["chat_rooms"], $tmp); 
} 
+3

'$ TMP [ "message_id"] [] = $ unread_message [ "message_id"];' динамически добавлять новые элементы. – AbraCadaver

ответ

0

Вы переопределение в каждом пробеге время цикла $tmp["chat_room_id"]. Правильный синтаксис будет:

$tmp["chat_room_id"][] = $unread_message["message_id"]; 

или

array_push($tmp["chat_room_id"], $unread_message["message_id"]); 
Смежные вопросы