在CodeIgniter / PHP中基于属性值提取对象

时间:2013-02-28 14:16:16

标签: php codeigniter object properties codeigniter-2

我正在尝试从$delegates对象中检索具有与当前事件ID匹配的“event_id”的所有委托,该事件id存储在变量$current_event_id中。

那就是说,我已经创建了一个辅助函数来完成工作,我在控制器中包含了这个函数。

我已经设法让它在某种程度上发挥作用,因为它显示了我所追求的代表,每个代表都在一个列表项中,但它也为每个代表'event_id'显示一个空白列表项与当前事件ID不匹配。

这是我的代码:

function total_delegate_info( $delegates, $current_event_id ) {
    $total_delegate_info = '<ul>';
    foreach ( $delegates as $delegate ) {
        $total_delegate_info .= '<li>';
        if(  $delegate->event_id == $current_event_id ) {
            $total_delegate_info .= $delegate->delegate_first_name . ' ' . $delegate->delegate_last_name;
        }
        $total_delegate_info .= '</li>';
    }
    $total_delegate_info .= '</ul>';
    return $total_delegate_info;
}

关于如何改进此功能的任何想法?感谢。

1 个答案:

答案 0 :(得分:0)

真的很傻但显然是因为我在if语句之外生成了列表标签。卫生署!

    function total_delegate_info( $delegates, $current_event_id ) {

        $total_delegate_info = '<ul>';

            foreach ( $delegates as $delegate ) {


                    if( $delegate->event_id == $current_event_id ) {

                        $total_delegate_info .= '<li>';

                            $total_delegate_info .= $delegate->delegate_first_name . ' ' . $delegate->delegate_last_name;

                        $total_delegate_info .= '</li>';

                    }

            }
        $total_delegate_info .= '</ul>';

        return $total_delegate_info;

    }