如何使用键数组为数组赋值?

时间:2013-06-24 20:36:58

标签: php

我有一个价值。

$v = "Foo";

我有一个数组来存储我的数据

$array = array();

我有一系列“关键字”

$k = array("bla", "fas");

我想:

$array = array(
    "bla" => array(
         "fas" => $v
     )
)

我试过这个:

$array = array();

$v = "bla";

$k = array("a", "b");

$str = "[" . implode("][", $k) . "]";

// $array[$k] = $v;
// $array{$k} = $v;
// $array{$str} = $v;
${$array.$str} = $v;

print_r($array);

所以,问题是:如何使用键数组为数组赋值?

4 个答案:

答案 0 :(得分:0)

这个怎么样:

$v = "Foo";
$array = array();
$k = array();
$k["fas"] = $v;
$array["bla"] = $k

答案 1 :(得分:0)

可能你正在寻找这个

$num = count($k);
$array = array($k[$num-1]=>$v);
for($i=$num-2;$i>=0;$i--){
  $array = array($k[$i]=>$array);  
}

答案 2 :(得分:-1)

$array = array($k[0] => array($k[1] => $v));

它是动态的,因为它只使用提供的输入变量,并产生你描述的输出。

答案 3 :(得分:-1)

INIT:

$twodimensionaLArray = array ( "foo" => array("bar", "fomb") );

获得价值

$subarr = $twodimensionaLArray['foo']; // gives array("bar", "fomb")

获取子阵列的元素

$elem = $subarr[1]; //  gives "fomb"
等等。等