Как убрать массивы, указанные в стрелках - PullRequest
0 голосов
/ 30 мая 2018
$session_activity_category = array();

    foreach($search_venue as $venue_b)  {
    $session_activity_category[] =  $this->users_model->search_categories_by_session($venue_b->activity_venue_id);
}


 return $this->output
    ->set_content_type('application/json')
    ->set_status_header(200)
    ->set_output(json_encode(array('activity_category'=>$session_activity_category,'activity'=>$session_activity,'activity_session'=>$search_session,'activity_venue'=>$search_venue),JSON_UNESCAPED_SLASHES)  
    );

Я хочу удалить массивы, указанные в линиях стрелок

These arrows which are given in which I want to remove the arrays

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Кажется, что $this->users_model->search_categories_by_session($venue_b->activity_venue_id) возвращает массив объектов.Вы должны анализировать эти объекты в массиве $ session_activity_category каждую итерацию вызова функции search_categories_by_session.

    $session_activity_category = array();

    array_walk($search_venue, function($venue_b) use (&$session_activity_category) {
        $categories = $this->users_model->search_categories_by_session($venue_b->activity_venue_id);

        foreach ($categories as $category) {
            $session_activity_category[] = $category;
        }
    });
0 голосов
/ 30 мая 2018

Преобразование JSON в массив.Затем просто создайте новый массив с той же ключевой активной категорией (в моем примере это что-то):

<?php

$json = '
{"something": [[
        {
            "blah": "blah"
        },
        {
            "blah": "blah"
        }
    ]]}
';

$array = json_decode($json, true);

$array = [
    "something" => $array['something'][0],
];

echo json_encode($array);

, которая выдаст:

{"something":[{"blah":"blah"},{"blah":"blah"}]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...