PHP if为True返回false

时间:2016-11-17 08:53:14

标签: php boolean

我正在尝试根据变量是否为真发布输出更改,但在foreach循环中插入if语句后没有显示任何内容。我错过了什么?

$odd = TRUE;

        foreach ( $recent as $item ) {

            if ( $odd == TRUE ) {
                $out .= '<div class="col-sm-12 col-md-6">';
                $out .= '<a href="' . get_permalink( $item['ID'] ) . '">';
                $out .= get_the_post_thumbnail( $item['ID'] ); 
                $out .= '</a>';
                $out .= '</div><div class="col-sm-12 col-md-6">';
                $out .=  get_the_excerpt( $item['ID'] );
                $out .= '</div>';
                return FALSE;
            } else {
                $out .= '<div class="col-sm-12 col-md-6">';
                $out .=  get_the_excerpt( $item['ID'] );
                $out .= '</a>';
                $out .= '</div><div class="col-sm-12 col-md-6">';
                $out .= '<a href="' . get_permalink( $item['ID'] ) . '">';
                $out .= get_the_post_thumbnail( $item['ID'] ); 
                $out .= '</div>';
                return TRUE;
            }
        }

1 个答案:

答案 0 :(得分:0)

使用此代码,而不是返回$ odd,更改值并回显$ out,这样您就可以实现所需。

$odd = TRUE;
$out = '';

foreach ( $recent as $item ) {

    if ( $odd == TRUE ) {
        $out .= '<div class="col-sm-12 col-md-6">';
        $out .= '<a href="' . get_permalink( $item['ID'] ) . '">';
        $out .= get_the_post_thumbnail( $item['ID'] ); 
        $out .= '</a>';
        $out .= '</div><div class="col-sm-12 col-md-6">';
        $out .=  get_the_excerpt( $item['ID'] );
        $out .= '</div>';
        $odd = FALSE;
    } else {
        $out .= '<div class="col-sm-12 col-md-6">';
        $out .=  get_the_excerpt( $item['ID'] );
        $out .= '</a>';
        $out .= '</div><div class="col-sm-12 col-md-6">';
        $out .= '<a href="' . get_permalink( $item['ID'] ) . '">';
        $out .= get_the_post_thumbnail( $item['ID'] ); 
        $out .= '</div>';
        $odd = TRUE;
    }
}

echo $out;