2014-02-21 52 views
0

我在子欄中有多個相同的名稱。在Men have Shoes & Women have Shoes我如何獲得帶有遞歸選擇選項箭頭的父母名稱

function makeSelect ($items, $depth = 0) 
{  
    $result = ''; 

    foreach ($items as $item) 
    { 
     $result .= '<option value="' . $item['id'] . '">'; 
     $result .= str_repeat('->', $depth); 
     $result .= $item['name'] . '</option>'; 

     if (array_key_exists('children', $item)) 
      $result .= makeSelect($item['children'], $depth+1); 
    } 

    return $result; 
} 

功能工作正常。有時會讓我困惑,以至於無法選擇有效的類別。

我該如何獲得包括父母名稱&箭頭的選項?

例子:

<option value="1">Women</option> 
<option value="2">Women->Shoes</option> 
<option value="2">Women->Shoes->Boots</option> 

更新:$items我做了什麼的content

+0

你可以發佈'$ items'的內容嗎? – billyonecan

+0

http://pastebin.com/3tePVhpX陣列 – user3337623

回答

0

這裏。

function makeSelect($items, $parent = null) 
{ 
    $result = ''; 

    foreach ($items as $key => $item) 
    { 
     $result .= '<option value="'.$key.'">'.$parent.$item['name'].'</option>'; 
     if (array_key_exists('children', $item)) 
      $result .= makeSelect($item['children'],$parent . $item['name']." -> "); 
    } 
    return $result; 
}