У меня есть один массив как
$tmpArr = array('A', 'B', 'C');
Я хочу обработать этот массив и хочу, чтобы новый массив был
$tmpArr[A][B][C] = C
Т.е. последний элемент становится значением конечного массива.
Может ли кто-нибудь предложить решение? Пожалуйста помоги. заранее спасибо
Итерируйте массив ключей и используйте ссылку для конца цепочки:
$arr = array(); $ref = &$arr; foreach ($tmpArr as $key) { $ref[$key] = array(); $ref = &$ref[$key]; } $ref = $key; $tmpArr = $arr;
$tmpArr = array('A', 'B', 'C'); $array = array(); foreach (array_reverse($tmpArr) as $arr) $array = array($arr => $array);
Вывод:
Array ( [A] => Array ( [B] => Array ( [C] => Array ( ) ) ) )
$tmpArr[$tmpArr[0]][$tmpArr[1]][$tmpArr[2]] = $tmpArr[2];
Это то, что вы хотите?