首页 > 解决方案 > 如何将嵌套数组键转换为索引php

问题描述

我有这个数组:

`$arr = array(
    'foo' => 'foo',
    'bar' => array(
        'baz' => 'baz',
        'candy' => 'candy',
        'vegetable' => array(
            'carrot' => 'carrot',
        ),
    ),
);

我想把它改成这样:

$arr = array(
'0' => 'foo',
'1' => array(
    '0' => 'baz',
    '1' => 'candy',
    '2' => array(
        '0' => 'carrot',
    )
),
);

我试过 array_values 函数,但它只改变第一级,像这样:

$arr = array(
'0' => 'foo',
'1' => array(
    'baz' => 'baz',
    'candy' => 'candy',
    'vegetable' => array(
        'carrot' => 'carrot',
    )
),
);

标签: phptableau-api

解决方案


Dipti 代码很棒。我稍微修饰了一下:

function array_values_recursive(array $arr ) : array {
    $result = array();
    foreach ($arr as $value) {
        $result[] = is_array($value) ? array_values_recursive($value) : $value;
    }
    return $result;
}

推荐阅读