【发布时间】:2014-04-02 17:21:12
【问题描述】:
有没有一种优雅的方法可以将数组转换为多维键并添加一个值?
$value = "You found the giant!"
$keys = array("fee", "fi", "fo", "fum");
$output[ flipster( $keys ) ] = $value;
// $output['fee']['fi']['fo']['fum'] = "You found the giant!";
我编写了这个函数,它可以工作并完成我需要它做的事情,但我认为这不是最好的解决方案......
function flipster( $array, $value ) {
$out = array();
$key = $array[0];
array_shift( $array );
if( count( $array ) > 0 ) {
$out[ $key ] = flipster( $array, $value );
} else {
$out[ $key ] = $value;
}
return $out;
}
最后,我从一个循环中得到了我的“fee”和“fi”,所以在循环中我正在做这样的事情来创建一个新数组:
$out = array_merge_recursive($out, flipster( $keys, $value ) );
【问题讨论】:
标签: php arrays multidimensional-array flip