从基本数组中获取数组深度

时间:2017-12-31 11:06:32

标签: php arrays

我很困惑如何从基本数组中获得深度。

$array = array('736', '827', '831');

使用foreach循环,我想要这样的最终结果:

Array
(
    [736] => Array
        (
            [827] => Array
                (
                    [831] => Array
                        (
                        )

                )

        )

)

2 个答案:

答案 0 :(得分:1)

就像你想要的那样,做到这一点:

array
(
    736 => array
        (
            827 => array
                (
                    831 => array
                        (
                        )

                )

        )

)

还是我误解了这个问题?

使用foreach向后:

$arr=array(831,827,736);
$newref=array();
foreach($arr as $el)
{
    $newref=array($el=>$newref);
}

用于反转数组:$ arr = array_reverse($ arr);

答案 1 :(得分:0)

可能不是最有效的,但是这样的事情应该这样做。

function nestedArray($array) {
  $newArray = [];
  $pointer = &$newArray;
  foreach($array as $value) {
    $pointer[$value] = [];
    $pointer = &$pointer[$value];
  }

  return $newArray;
}

$arr = [736, 827, 831];

var_dump(nestedArray($arr));