[ create a new paste ] login | about

Link: http://codepad.org/TaIIKflP    [ raw code | output | fork ]

PHP, pasted on Apr 22:
<?php
$arrays = array(
	array(
    	"id" => 45,
    	"parent_id" => '', 
    	"name" => "qwe"
    	),        
	array(
    	"id" => 152,
    	"parent_id" => 45,
    	"name" => "asd"
    ),
	array(
    	"id" => 153,
    	"parent_id" => 152,
    	"name" => "zxc"
    ),
    array(
    	"id" => 153,
    	"parent_id" => '',
    	"name" => "zxc"
    ),
    array(
    	"id" => 157,
    	"parent_id" => '',
    	"name" => "zxc"
    ),
    array(
    	"id" => 159,
    	"parent_id" => 157,
    	"name" => "fs"
    )
);
 
$i = 0;
foreach ($arrays as $array){
    $newArray[] = empty($array['parent_id']) ? $array['name'] : $newArray[$i-1] . '/'. getParent($arrays, $array['parent_id']);
    $i++;
}
    
function getParent($arr, $parent){
    foreach($arr as $k =>  $v){
        if(isset($v['parent_id']) && $v['parent_id'] == $parent) return $v['name'];
    }
  	
    return false;
}

    print'<pre>';print_r($newArray);print'</pre>';
    


Output:
1
2
3
4
5
6
7
8
9
10
<pre>Array
(
    [0] => qwe
    [1] => qwe/asd
    [2] => qwe/asd/zxc
    [3] => zxc
    [4] => zxc
    [5] => zxc/fs
)
</pre>


Create a new paste based on this one


Comments: