PHP。如何使用单个父元素将简单数组转换为多维数据

时间:2016-06-22 13:03:47

标签: php

我有 $x = array('a', 'b', 'c');

我需要将其转换为:

array (size=1)
  'a' => 
    array (size=1)
      'b' => 
        array (size=1)
          'c' => boolean true

我需要创建具有单个子\ parent的多维数组,第一个将是数组的主\根键(它' a')最后一个值应该是不要错过真正的',这就是我所需要的一切

请求帮助,谢谢你

2 个答案:

答案 0 :(得分:2)

我不知道你为什么要这样做,但这应该有所帮助:

function transform($array)
{
 if (empty($array)) {
  return true;
 }

 return [array_shift($array) => transform($array)];
}

答案 1 :(得分:1)

尝试:

$tmpArr = array('a', 'b', 'c');
$arr = array();
$ref = &$arr;
foreach ($tmpArr as $key) {
    $ref[$key] = array();
    $ref = &$ref[$key];
}
$ref = true;
$tmpArr = $arr;
print '<pre>';print_r($tmpArr);
print '<pre>';var_dump($tmpArr);
exit;

输出:

Array
(
    [a] => Array
        (
            [b] => Array
                (
                    [c] => 1
                )

        )

)

var_dump结果:

array(1) {
  ["a"]=>
  array(1) {
    ["b"]=>
    array(1) {
      ["c"]=>
      &bool(true)
    }
  }
}