Формат массива php - PullRequest
       1

Формат массива php

0 голосов
/ 22 января 2019

Мне нужно изменить формат массива, возвращаемого в CodeIgniter, оставив поле базы данных в качестве индекса, я сделал те же запросы в PHP и CodeIgniter, и оба они разные, какие-либо предложения? Я использую result_array () в CodeIgniter, а также result ();

Мне нужно это:

Array
(
    [1_1] => Array
        (
            [0] => 1_1
            [1] => 16
            [2] => ch
            [3] => Chemistry
        )

    [1_2] => Array
        (
            [0] => 1_2
            [1] => 17
            [2] => ch
            [3] => Chemistry
        )

    [2_3] => Array
        (
            [0] => 2_3
            [1] => 18
            [2] => ch
            [3] => Chemistry
        )

    [2_5] => Array
        (
            [0] => 2_5
            [1] => 19
            [2] => ch
            [3] => Chemistry
        )

    [9_1] => Array
        (
            [0] => 9_1
            [1] => 20
            [2] => ch
            [3] => Chemistry
        )

)

Результаты запроса:

Array
(
    [0] => Array
        (
            [pos] => 1_1
            [tbl_id] => 16
            [sub_id] => ch
            [sub_name] => Chemistry
        )

    [1] => Array
        (
            [pos] => 1_2
            [tbl_id] => 17
            [sub_id] => ch
            [sub_name] => Chemistry
        )

    [2] => Array
        (
            [pos] => 2_3
            [tbl_id] => 18
            [sub_id] => ch
            [sub_name] => Chemistry
        )

    [3] => Array
        (
            [pos] => 2_5
            [tbl_id] => 19
            [sub_id] => ch
            [sub_name] => Chemistry
        )

    [4] => Array
        (
            [pos] => 9_1
            [tbl_id] => 20
            [sub_id] => ch
            [sub_name] => Chemistry
        )

)

Как я могу удалить массив, который находится в начале? Спасибо.

1 Ответ

0 голосов
/ 22 января 2019
$array = [
    [
        'pos' => '1_1',
        'tbl_id' => 16,
        'sub_id' => 'ch',
        'sub_name' => 'Chemistry'
    ]
];


$result = [];
foreach ($array as $data) {
    $values = array_values($data);

    $result[$data['pos']] = $values;
}

Это даст вам то, что вы хотите.

Array
(
    [1_1] => Array
        (
            [0] => 1_1
            [1] => 16
            [2] => ch
            [3] => Chemistry
        )

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