PHP-Array aus dem Satz von Schlüsseln

Fand diesen Beitrag, der mir geholfen hat:Teilen Sie eine Zeichenfolge, um mehrdimensionale Array-Schlüssel zu bilden?

Wie auch immer, wenn es um Zeichenfolgenwerte geht, aber wenn Array-Schlüssel Ganzzahlen enthalten, fehlen diese.

Hier ist die Demo:

Ich habe Schlüssel:

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

Und Methode zum Erstellen eines verschachtelten Arrays

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';
    }

Und ich benutze es so:

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

aber die Ausgabe sieht so aus:

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

)

Wie Sie sehen, enthält der variable_data-Index keinen 0-Index. Ich habe fast alles getestet, von dem ich weiß, dass es funktioniert, aber es hat nicht funktioniert. Wer hat eine bessere Ahnung?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage