使用键数组创建多维数组

时间:2017-10-04 08:14:24

标签: php arrays multidimensional-array

我想创建从参数创建多维数组的函数,第二个参数应该保存为值。预期结果如下:

Array
(
    [first] => Array
        (
            [second] => Array
                (
                    [last] => value
                )

        )

)

到目前为止我得到了什么:

 $array = ['first', 'second', 'last'];

    function multiArray($array, $newArray = [], $valueToSave)
    {
        if($array) {
            $value = current( $array );
            $key = array_search($value, $array);
            unset( $array[ $key ] );

            $newArray[$value] = [];
            return multiArray( $array, $newArray, $valueToSave);
        } else {
            return $newArray;
        }
    }

任何提示,我应该更改或做什么?

1 个答案:

答案 0 :(得分:1)

你可以试试这个最简单的。

Try this code snippet here

$array = ['first', 'second', "third", "fourth",'last'];
$value = "someValue";

$result = array();
$count = count($array);
for($x=$count-1;$x>=0;$x--)
{
    if($x==$count-1):
        $result[$array[$x]]=$value;//setting value for last index
    else:
        $tempArray = $result;//storing value temporarily
        $result = array();//creating empty array
        $result[$array[$x]] = $tempArray;//overriting values.
    endif;
}
print_r($result);