PHP - 将数组A的值转换为数组B的索引

时间:2015-11-16 01:29:00

标签: php arrays indexing

有一个数组A,它具有可变数量的值。 我想将数组A的值转换为数组B的索引。

语言:PHP

示例:

//array A
$a={'a','b','c','d'};

//converted to an index of array B
$b['a']['b']['c']['d']='somevalue';

问题是数组A的值的数量是灵活的。

有出路吗?感谢。

2 个答案:

答案 0 :(得分:1)

$a=['a','b','c','d'];

$b = [];
$c = &$b;
foreach($a as $key) {
    $c[$key] = $c;
    $c = &$c[$key];
}
$c = 'somevalue';
unset($c);

var_dump($b);

Demo

答案 1 :(得分:0)

感谢@Mark Ba​​ker。我修改了一些代码并且有效。

$a = array('a', 'b', 'c', 'd');

$b = array();

rsort($a);

$i = 0;
foreach ($a as $v)
{
    if ($i++ > 0)
    {
        $c = array();
        $c[$v] = $b;
        $b = $c;
    }
    else
    {
        $b[$v] = 111;
    }
}

var_dump($b);

结果,我想要的是什么:

array(1) {
  ["a"]=>
  array(1) {
    ["b"]=>
    array(1) {
      ["c"]=>
      array(1) {
        ["d"]=>
        int(111)
      }
    }
  }
}