扫码关注官方订阅号
$arr = array('a','b','c','d');
转为
$brr = array(
'a'=>array( 'b'=>array( 'c'=>array( 'd'=>array() ) ) )
);
闭关修行中......
<?php $arr = ['a', 'b', 'c', 'd']; $child = array(); $res = []; while($v = array_pop($arr)) { $res = [$v => $child]; $child = $res; } print_r($res);
结果为
Array ( [a] => Array ( [b] => Array ( [c] => Array ( [d] => Array ( ) ) ) ) )
看到结构想到了递归,具体代码如下:
function toMany ($arr) { $res = array(); burnArr($res, $arr); return $res; } function burnArr (&$arr, $keys) { if ( !empty($keys) ) { $val = array_shift($keys); $arr[$val] = array(); burnArr($arr[$val], $keys); } else { return ; } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
结果为
看到结构想到了递归,具体代码如下: