php

2015-06-17 10 views
6

çoklu boyutlu diziden iç içe ebeveyn çocuk dizilerinin oluşturulması bu diziyiphp

$array = Array 
    (
     [a] => Array 
      (
       [0] => b 
       [1] => h 
      ) 

     [b] => c 
     [c] => d 
     [h] => m 
    ) 

var Ve zaten Boyutlu One için bu soruyu sordum

Array 
(
    [a] => Array 
     (
      [b] => Array 
       (
        [c] => Array 
         (
          [d] => Array 
           (
           ) 

         ) 

       ) 

      [h] => Array 
       (
        [m] => Array 
         (
         ) 

       ) 

     ) 

) 

aşağıda sevmeye diziyi dönüştürmek gerekir dizi.

Ben Creating nested parent child array from one dimensional array in php [ile çalıştı ve aşağıda dizi anahtar çok boyutlu bir dizi mevcuttur ve eğer mevcut Mevcut bir anahtara çocuğu eklemek türlü hava şartlarına denetimi nasıl
Array 
(
    [a] => Array 
     (
      [b] => Array 
       (
        [a] => Array 
         (
          [h] => Array 
           (
            [b] => Array 
             (
              [c] => Array 
               (
                [d] => Array 
                 (
                 ) 

                [h] => Array 
                 (
                  [m] => Array 
                   (
                   ) 

                 ) 

               ) 

             ) 

           ) 

         ) 

       ) 

     ) 

) 

aldık. Sorunu çözmek için yardımcı olun. Advance

+1

teşekkür PHP harika bir dildir. –

+0

ve bize gösterilecek bir kod parçanız var mı? –

+0

@AdrianCidAlmaguer i Code – Jegan

cevap

2
<?php 

$array = array( 
    'a' => array(0=>'b',1=>'h'), 
    'b' => 'c', 
    'c' => 'd', 
    'h' => 'm', 
); 

$newArray = array(); 
$secondarray = array(); 
$part  = &$newArray; 
$i=1; 

foreach($array as $first => $second) 
{ 
    if($i==1) 
    { 
     $firstone=$first; 
    } 
    else 
    { 
     if($i==count($array)) 
     { 
      $newArray[$first] = array($second => array()); 
      $secondarray[$firstone]=$newArray; 
     } 
     else 
     { 
      $part = &$part[$first]; 
      $part[$second] = array(); 
     } 
    } 
    $i++; 
} 

echo '<pre>';print_r($secondarray); 

çıkış görüyorum

Array 
(
    [a] => Array 
     (
      [b] => Array 
       (
        [c] => Array 
         (
          [d] => Array 
           (
           ) 

         ) 

       ) 

      [h] => Array 
       (
        [m] => Array 
         (
         ) 

       ) 

     ) 

)