2012-03-14 36 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>