Php массив из набора ключей

Нашел этот пост, который помог мне:Разделить строку, чтобы сформировать ключи многомерного массива?

Во всяком случае, это работает как шарм, когда дело доходит до строковых значений, но если ключи массива содержат целые числа, то они пропускают их.

Вот демо:

у меня есть набор ключей:

Array
(
    [0] => variable_data
    [1] => 0
    [2] => var_type
)

И способ создания вложенного массива

function constructArray( &$array_ptr, $keys, $value )
    {
        // extract the last key
        $last_key = array_pop ( $keys );

        // walk/build the array to the specified key
        while ( $arr_key = strval( array_shift ( $keys ) ) )
        {
            if ( !array_key_exists ( strval($arr_key), $array_ptr ) )
            {
                $array_ptr[ strval($arr_key) ] = array ( );
            }
            $array_ptr = &$array_ptr[ strval($arr_key) ];
        }

        // set the final key
        $array_ptr[ $last_key ] = '$value';
    }

И я использую это таким образом:

$keys = array(
    'variable_data',
    '0',
    'var_type'
);
    $clean_arr = array();
    constructArray($clean_arr, $keys, 'asd');

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

Array
(
    [variable_data] => Array
        (
            [var_desc] => $value
        )

)

Как видите, индекс variable_data не содержит 0 index. Я проверил все, что я мог знать, чтобы работать, но это не так. Кто-нибудь, кто имеет лучшую подсказку?

Ответы на вопрос(1)

Ваш ответ на вопрос