2011-09-24 2 views
0

Чтобы быть более конкретным, я хочу превратить следующий массив в ассоциативный. Исходный массив индексируется как [0], [1], [2], ... [n]. Функция, которую я использовал, была Set :: comb Cakephp, но я не смог воссоздать все три уровня желаемого ассоциативного массива.Реформирование ассоциативных массивов

Array 
(
    [0] => Array 
     (
      [ACCOUNTS] => Array 
       (
        [description] => A 
       ) 

      [HEADERS] => Array 
       (
        [description] => B     
       ) 

      [COLUMNS] => Array 
       (
        [description] => C 
        [id] => 8 
       ) 

     ) 
    [1] => Array 
     (
      [ACCOUNTS] => Array 
       (
        [description] => A1 
       ) 

      [HEADERS] => Array 
       (
        [description] => B1     
       ) 

      [COLUMNS] => Array 
       (
        [description] => C1 
        [id] => 9 
       ) 

     )  
) 

Массив Я хочу, чтобы в конечном итоге является следующий ассоциативный массив:

Array 
(
    [A] => Array 
     (
      [B] => Array 
       (
        [C] => 8 
       ) 
     ) 
    [A1] => Array 
     (
      [B1] => Array 
       (
        [C1] => 9 
       ) 
     )  
) 

Я не могу воссоздать все (3) уровни выше массива.

+0

быть более конкретным , Я не понимаю, как вы получили вышеуказанные значения. Являются ли эти ценности. – user909058

ответ

0

ли вы имеете в виду, как:

$newarray = array($first['ACCOUNTS']['description'] => array($first['HEADERS']['description'] => array($first['COLUMNS']['description'] => $first['COLUMNS']['id']))); 

Так что, если вы запустите следующую это дает то, что вы хотите:

$first = array(
'ACCOUNTS' => array('description' => 'A'), 
'HEADERS' => array('description' => 'B'), 
'COLUMNS' => array('description' => 'C', 'id' => '8')); 

echo "<pre>"; 
print_r($first); 


$newarray = array($first['ACCOUNTS']['description'] => 
      array($first['HEADERS']['description'] => 
       array($first['COLUMNS']['description'] => 
        $first['COLUMNS']['id']))); 


print_r($newarray); 

Затем вы в конечном итоге с:

Array 
(
    [ACCOUNTS] => Array 
     (
      [description] => A 
     ) 

    [HEADERS] => Array 
     (
      [description] => B 
     ) 

    [COLUMNS] => Array 
     (
      [description] => C 
      [id] => 8 
     ) 

) 
Array 
(
    [A] => Array 
     (
      [B] => Array 
       (
        [C] => 8 
       ) 

     ) 

) 
+0

Чтобы быть более конкретным, я хочу превратить следующий массив в ассоциативный. Исходный массив индексируется как [0], [1], [2], ... [n]. Функция, которую я использовал, была Set :: combination of Cakephp, но я мог бы воссоздать все три уровня желаемого ассоциативного массива. – gdimakop

Смежные вопросы