2012-03-14 40 views
1

我有如下因素:破滅膠參數問題

$ids = array_map(function($item) { 
     if($item[1] != '') 
      return '<li><a href="'.$item[1].'">'.$item[0].'</a></li>'; 
     else 
      return '<li><a>'.$item[0].'</a></li>'; 
     }, $trail); 


    echo implode(' > ', $ids); 

這將返回 DashboardAccountsAccount>> 而不是儀表板>帳戶>帳戶。

這是一個錯誤?我如何解決它?

回答

0
+0

事情是沒有空的元素在數組中,因爲地圖照顧它。我也做了var_dump並確認了它。 – firebird 2012-03-14 03:05:57

+0

@firebird,在你的implode行之前顯示'print_r($ ids)'的輸出,並證明它。 – Brad 2012-03-14 03:15:05

0

不知道您的數組是什麼樣子,但測試了這一點:

$trail[] = array('Dashboard', 'test.html'); 
$trail[] = array('Accounts', 'test.html'); 
$trail[] = array('Account', 'test.html'); 
$trail[] = array('Something', ''); 

function my_function($item){ 
    if($item[1] != '') 
    return '<li><a href="'.$item[1].'">'.$item[0].'</a></li>'; 
    else 
    return '<li><a>'.$item[0].'</a></li>'; 
} 

$ids = array_map(my_function, $trail); 
echo implode(' > ', $ids); 

回報

<li><a href="test.html">Dashboard</a></li> > 
<li><a href="test.html">Accounts</a></li> > 
<li><a href="test.html">Account</a></li> > 
<li><a>Something</a></li>