2013-10-03 6 views
0

У меня есть массив:Создание дерева из массива

$array = array(
     0 => 'aaa', 
     1 => 'bbb', 
     2 => 'ccc', 
     3 => 'ddd' 
     ); 

Как я могу сделать дерево из этого массива? Я хотел бы получить:

$array = array(
     0 => 'aaabbbcccddd', 
     1 => 'aaabbbccc', 
     2 => 'aaabbb', 
     3 => 'aaa' 
     ); 
+2

Является ли это дерево ?? –

+0

, который является родителем и узлом, оправдывает –

+0

Ненавижу говорить об этом, но вы сами что-то пробовали? Если да, то? Мы поможем с проблемами, но мы не являемся домашней фабрикой –

ответ

0

Самый простой способ:

<? 
$array = array(
      0 => 'aaa', 
      1 => 'bbb', 
      2 => 'ccc', 
      3 => 'ddd' 
      ); 

    for($i = count($array); $i>0; $i--){ 
     $newArry[] = implode($array); 
     unset($array[$i-1]); 
    } 

    print_r($newArry); 
?> 

Working CODE

0

Я ответил в соответствии с вашими потребностями. Но это не дерево.

$array = array(
      0 => 'aaa', 
      1 => 'bbb', 
      2 => 'ccc', 
      3 => 'ddd' 
      ); 

    $newArry=array(); 
    for($i=0; $i < count($array); $i++) 
    { 
     $str=$array[$i]; 
     for($j=$i+1; $j<=count($array); $j++) 
     { 
       $str.=$array[$j]; 
     } 
     $newArry[]=$str;  

    } 

    print_r($newArry); 
0

Попробуйте это:

$array = array(
       'aaa', 
       'bbb', 
       'ccc', 
       'ddd' 
      ); 

$s = implode('', $array); 

$a = array(); 

for ($i = 0; $i < count($array); $i++) { 
    $a[] = substr($s, 0, count($array) * 3 - $i * 3); 
} 

var_dump($a); 
Смежные вопросы