|
|
|
| что то мозг совсем выкипел.
подскажите направление.
есть массив такого вида
array('key1','key2','key3')
|
нужно его превратить в
array('key1' => array('key2' => array('key3' => '')))
|
| |
|
|
|
|
|
|
|
для: Zezst
(18.11.2014 в 03:36)
| |
<?php
$a = ['key1','key2','key3'];
$a = array_reduce(array_reverse($a), function($r, $i) {return $r = [$i => $r ?: ''];});
var_dump($a);
|
| |
|
|
|
|
|
|
|
для: Igorek
(18.11.2014 в 07:33)
| |
return $r = [$i => $r ?: '']
|
спасибо.
огромное спасибо.
и может еще и с таким поможете ?
имеем
array('key1' => 'val1','key2' => 'val2','key3' => 'val3')
|
хотим
array('val1' => array('key1' => array('val2' => array('key2' => array('val3' => array('key3' => ''))))))
|
| |
|
|
|
|
|
|
|
для: Zezst
(18.11.2014 в 07:56)
| |
<?php
$a2 = ['key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'];
$r = '';
foreach (array_reverse($a2) as $key => $val) {
$r = [$val => [$key => $r]];
}
print_r($r);
|
для первого случая небольшой фикс - array_reduce принимает третий параметр в качестве начального значения:
<?php
$a = ['key1', 'key2', 'key3'];
$a = array_reduce(array_reverse($a), function ($r, $i) {return $r = [$i => $r];}, '');
|
| |
|
|
|
|
|
|
|
для: Igorek
(18.11.2014 в 09:43)
| | и еще раз СПАСИБО. | |
|
|
|