Преобразование многомерного массива в многомерный ассоциативный массив

1

и мой вопрос:

Преобразование числового многомерного массива, созданного из array_chunk в ассоциативный массив или stdClass. Как мне это сделать?

Я создаю массив из

    foreach($xpath->query("./td[position()=2 ]", $row) as $cell)
    {
        $a[] = trim($cell->nodeValue);
    }

Этот массив

выглядит как:

Array
(
    [0] => AAK AB
    [1] => 642,00
    [2] => 644,00
    [3] => 635,00
    [4] => 17 108 677
    [5] => ABB Ltd
    [6] => 164,90
    [7] => 165,00
    [8] => 163,20
    [9] => 146 251 251
...

Но с array_chunk я генерирую:

Array
(
    [0] => Array
        (
            [0] => AAK AB
            [1] => 642,00
            [2] => 644,00
            [3] => 635,00
            [4] => 17 243 497
        )

    [1] => Array
        (
            [0] => ABB Ltd
            [1] => 164,80
            [2] => 165,00
            [3] => 163,20
            [4] => 146 335 464
        )

Но для более чистого и понятного кода мне хотелось бы выглядеть так:

                   Array
(
    [1] => stdClass Object
        (
            [stock] => AAK AB
            [prev] => 634,50
            [high] => 638,50
            [low] => 622,50
            [rev] => 32 094 048
        )

    [2] => stdClass Object
        (
            [stock] => ABB Ltd
            [prev] => 162,80
            [high] => 163,30
            [low] => 161,90
            [rev] => 167 481 268
        )
) 

Это не должно быть stdClass, но если можно эхо-данные из массива с такими объектами, как:

$a->aktie или $a['aktie']

Теги:
arrays
multidimensional-array

1 ответ

2
Лучший ответ

Вы можете попробовать array_combine в цикле после array_chunk -

$keys = array('stock', 'prev', 'high', 'low', 'rev');
foreach($your_array as &$array) {
    $array = (object) array_combine($keys, $array);
} 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню