【发布时间】:2012-05-26 11:08:20
【问题描述】:
发现这篇文章对我有帮助:Split a string to form multidimensional array keys?
当涉及到字符串值时,无论如何它就像一个魅力,但如果数组键包含整数,那么它会错过这些。
这里是演示:
我得到了一组钥匙:
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 索引。我已经测试了所有我可能知道可以工作的东西,但它没有。谁有更好的线索?
【问题讨论】:
-
将答案发布为答案,并将答案标记为正确答案。不要将解决方案放在问题中。
-
啊一直想知道怎么做,但是回答自己的问题时有时间限制:S
标签: php arrays multidimensional-array