Tablica php z zestawu kluczy
Znaleziono ten wpis, który pomógł mi:Podziel łańcuch na wielowymiarowe klucze tablicy?
W każdym razie to działa jak urok, jeśli chodzi o wartości łańcuchowe, ale jeśli klucze tablicowe zawierają liczby całkowite, to nie trafiają.
Oto demo:
mam zestaw kluczy:
Array
(
[0] => variable_data
[1] => 0
[2] => var_type
)
I metoda tworzenia zagnieżdżonej tablicy
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';
}
I używam go w ten sposób:
$keys = array(
'variable_data',
'0',
'var_type'
);
$clean_arr = array();
constructArray($clean_arr, $keys, 'asd');
ale wyjście wygląda tak:
Array
(
[variable_data] => Array
(
[var_desc] => $value
)
)
Jak widać, indeks zmiennej_data nie zawiera indeksu 0. Przetestowałem prawie wszystko, co mogłem wiedzieć, żeby działać, ale tak się nie stało. Ktoś, kto ma lepsze wskazówki?