Преобразовать одномерный массив в многомерный массив в PHP - PullRequest
0 голосов
/ 23 апреля 2020

В PHP У меня есть динамический c 1-D массив, который похож на $array = ['test1', 'test2', ..., 'testn'] И мне нужно преобразовать его в многомерный массив, где уровень вложенности массива будет равен количеству элементов в 1- D массив, и каждый уровень будет иметь свой индекс с именем 1-D значений массива, поэтому на выходе должно быть что-то вроде: $multidimentional['test1']['test2'][...]['testn'] = [Some Fixed Value] И после создания многомерного массива присвойте ему фиксированное значение. Таким образом, в основном это фиксированное значение должно быть назначено в многомерном массиве, который имеет уровень вложенности согласно значениям одномерного массива.

1 Ответ

2 голосов
/ 23 апреля 2020

Вы можете просто l oop над элементами, назначить элемент в качестве ключа для текущего массива и перейти к дочернему массиву.

<?php

$array = ['test1', 'test2','test3', 'test4'];
$res = [];
$temp = &$res;
foreach($array as $val){
    $temp[$val] = [];
    $temp = &$temp[$val];
}
$temp[] = 45; // some fixed value
print_r($res);

Демо: https://3v4l.org/INfR2

...