2011-09-24 11 views
0

より具体的には、以下の配列を連想配列に変換したいと思います。元の配列は[0]、[1]、[2]、... [n]のように索引付けされます。私が使用した関数はSet :: combineのCakephpでしたが、希望の連想配列の3つのレベルをすべて再作成できませんでした。連想配列の改変

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 
       ) 
     )  
) 

Iは、上記の配列の全て(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]のように索引付けされます。私が使用した関数はCakephpのSet :: combineですが、私は3つのレベルの希望する連想配列を作り直すことができました。 – gdimakop