<?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>';