数组值为关联数组键

时间:2015-01-31 13:13:50

标签: php arrays

我想从另一个数组的变量填充一个assoc数组。

我有一个像这样的数组

$keys = array("key1", "key2", "key3");

现在我想用这样的键填充数组

$someArray["key1"]["key2"]["key3"] = "some value";

当然它也会像这样工作

$someArray[$keys[0]][$keys[1]][$keys[2]] = "some value";

但是键的数量可能会有所不同,每个循环的键数也不同。 我想在层次结构中翻译一些数据。

所以我很乐意从$ keys数组中动态执行此操作。

现在我创建一个Json String,将解码后的Json推送到$ someArray并在其上使用array_merge - 但我认为应该有更优雅的方式。

谢谢你们

1 个答案:

答案 0 :(得分:1)

使用带引用变量的循环:

$someArray = array();
$where =& $someArray;
foreach (array_slice($keys, 0, -1) AS $key) {
    $where[$key] = array();
    $where =& $where[$key];
}
$where[$keys[count($keys)-1]] = "some value";