Ассоциированный массив, имена ассоциаций в качестве первого индекса массива - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь получить ассоциативные имена моего массива в первый индекс массива без необходимости повторять 50 "столбцов" Это возможно. Я смотрел на
array_combine, array_merge, array_fill_keys.
Но так или иначе, похоже, я бы этого хотел. Я не могу найти правильную функцию.

Пример массива:

loop some queryresult

    $array1 = array(
        "a" => $first,
        "b" => $second,
        "c" => $third
    }

Желаемый выход:

Array(
    [0] => Array(
        [a] => a,
        [b] => b,
        [c] => c
    ),
    [1] => Array(
        [a] => first,
        [b] => second,
        [c] => third
    ),

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Это можно легко сделать, используя array_keys() и array_combine():

$input = array(
    'a' => 'first',
    'b' => 'second',
    'c' => 'third',
);

$output = array(
    array_combine(array_keys($input), array_keys($input)),
    $input,
);

Читать о array_keys() и array_combine().

0 голосов
/ 06 ноября 2018

Нет пути без перебора ключей массива.

$output = array(array(), $array1);
foreach(array_keys($array1) as $key)
    $output[0][$key] = $key;
...