找到帮助我的这个文章: < a href="https://stackoverflow.com/ questions/10519108/split-a-string-to-for-for-disible-array-keys" > 将字符串切换成多维数组密钥?
无论如何,当涉及到字符串值时,这就像一个符咒,但如果数组键含有整数,它就会错过这些。
以下是演示:
我得到了一套密钥 :
Array
(
[0] => variable_data
[1] => 0
[2] => var_type
)
创建 e 嵌套阵列的方法
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
)
)
正如你所见,变量数据指数并不包含 0 指数。 我测试了一切我可能知道的工作,但却没有。 谁有更好的线索呢?