Php 将数组值用作新的多维数组键

Php 将数组值用作新的多维数组键,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,编辑(否决投票后):这里有一个类似的问题> 然而,我在搜索答案时没有发现这个问题,因为它的措辞方式,我相信这会发生在其他人身上,所以这个问题可能会成为一个有用的门户,通往这个问题及其答案 我确信我遗漏了一些明显的东西,但我想不出如何做到这一点:我有一个包含一个或多个项的数组: array('value1', 'value2'); 我需要将这些值用作多维数组中的键: array['value1']['value2'] = 'somevalue'; 如何执行此操作?您可以在此处使用一个很好的递归

编辑(否决投票后):这里有一个类似的问题> 然而,我在搜索答案时没有发现这个问题,因为它的措辞方式,我相信这会发生在其他人身上,所以这个问题可能会成为一个有用的门户,通往这个问题及其答案

我确信我遗漏了一些明显的东西,但我想不出如何做到这一点:我有一个包含一个或多个项的数组:

array('value1', 'value2');
我需要将这些值用作多维数组中的键:

array['value1']['value2'] = 'somevalue';

如何执行此操作?

您可以在此处使用一个很好的递归:

function nestArray($items, $value) {
    return $items ?
        array($items[0] => nestArray(array_slice($items, 1), $value))
        : $value;
}

$array = array('value1', 'value2');
print_r(nestArray($array, 'somevalue'));

您的值是整数还是字符串或任何类型的对象?初始数组中的所有值都是字符串,您从何处获取“somevalue”?这是同一对象中的值,该对象还包含作为属性的第一个数组。如果这些值不唯一,您也会遇到问题。