If…Else语句在CakePHP中显示错误逻辑

If…Else语句在CakePHP中显示错误逻辑,php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,我有下面的语句来显示我用户的所有激情,它只显示有激情的,没有激情的,它不显示“空”文本。请帮忙$cell是一个用于附加所有数据的表 foreach ($user['Passion'] as $passion) { if (empty($passion['PassionsUser']['passion_tag'])) { $cell .= 'empty'; } if ($passion['PassionsUser']['type'] == 'pers

我有下面的语句来显示我用户的所有激情,它只显示有激情的,没有激情的,它不显示“空”文本。请帮忙$cell是一个用于附加所有数据的表

foreach ($user['Passion'] as $passion) {
    if (empty($passion['PassionsUser']['passion_tag'])) {
        $cell .= 'empty';
    }
        if ($passion['PassionsUser']['type'] == 'personal') {

            $cell .= '[' . $html->link(ucwords($passion['PassionsUser']['passion_tag']), array('controller' => 'passions', 'action' => 'view', $passion['PassionsUser']['passion_tag']), array('escape' => false, 'class' => 'normalTip', 'title' => ucwords($passion['PassionsUser']['type'] . ' passion'))) . ']';
        } elseif ($passion['PassionsUser']['type'] == 'professional') {

            $cell .= '[' . $html->link(ucwords($passion['PassionsUser']['passion_tag']), array('controller' => 'passions', 'action' => 'view', $passion['PassionsUser']['passion_tag']), array('escape' => false, 'class' => 'normalTip', 'title' => ucwords($passion['PassionsUser']['type'] . ' passion'))) . ']';
        }
}
$cells[] = $cell;
根据您的猜测,问题在于,如果用户没有任何激情,
$user['Passion']
将为空,因此循环根本不会运行。将代码更改为:

if( empty( $user[ 'Passion' ] ) {
    $cell = 'empty';
}
else foreach( $user[ 'Passion' ] as $passion ) {
    ....
}