0

私は id-parent_id 値を持つデータベースからの配列を持っています:

[0] => Array
    (
    [id] => 45
    [parent_id] => 
    [name] => 1
    )        
[2] => Array
    (
    [id] => 152
    [parent_id] => 45
    [name] => 2
    )

[3] => Array
    (
    [id] => 153
    [parent_id] => 152
    [name] => 3
    )

そして、パスで配列を取得する必要があります

[0] => 1      
[2] => 1/2
[3] => 1/2/3

これを行う関数を書くことはできません。

4

2 に答える 2

1

これを試して。

$i = 0;
foreach ($arrays as $array){
    $newArray[] = empty($array['parent_id']) ? $array['name'] : $newArray[$i-1] . '/'. getParent($arrays, $array['parent_id']);
    $i++;
}

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

function getParent($arr, $parent){
    foreach($arr as $k =>  $v){
        if(isset($v['parent_id']) && $v['parent_id'] == $parent) return $v['name'];
    }

  return false;
}
于 2013-04-22T15:00:28.767 に答える