Слить массив в остальные API в ответ - PullRequest
0 голосов
/ 06 декабря 2018

Я работаю с rest api в PHP и получаю результат вывода массива.Но я хочу получить данные, вложенные в cat_id.Это мой фактический результат вывода ниже:

Array
(
    [0] => Array
        (
            [id] => 16
            [user_id] => 1
            [cat_id] => 11
            [image] => abc.jpg
        )

    [1] => Array
        (
            [id] => 16
            [user_id] => 2
            [cat_id] => 11
            [image] => xyz.jpg
        )

    [2] => Array
        (
            [id] => 16
            [user_id] => 2
            [cat_id] => 12
            [image] => cde.jpg
        )

Я хочу показать результат вывода через cat_id как следующий массив

[0] => Array
(

    [cat_id] => 11
        {
            [image] => abc.jpg
            [user_id] => 1

            [image] => xyz.jpg
            [user_id] => 2

        }
    [cat_id] => 12
        {
            [image] => cde.jpg
            [user_id] => 2
        }   
)       

Вот мой код в контроллере

$users['rec'] = $this->Model_users->get_categories();
$responseJSON = array("Status" => true,"Message" => "Records","Result" => $users['rec']);
header("content-type:application/json");
$response = json_encode($responseJSON);
echo $response;

Вот моя модель

$this->load->database();
$this->db->select('*');
$this->db->from('mytable');
$query = $this->db->get();
if ( $query->num_rows() > 0 ){
    $rows = $query->result_array();
    return $rows;   
}else{
    return false;
}   

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете сделать это

$cats = array();

foreach ($rows as $value) {
    $cats[$value["cat_id"]][] = $value;
}

Теперь $cats должно быть так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...