PHP中无法比较两个相同的字符串?

时间:2016-06-12 12:06:54

标签: php wordpress

我已经在这段代码上被困了6个小时。我究竟做错了什么?

我似乎无法比较两个字符串 the_title()的值,而只是直接在IF语句中的普通字符串或来自不同变量的相同字符串。 IF语句不起作用。我尝试使用==,===和strcmp(),但没有,它只是拒绝承认两个字符串确实相同(我已经多次打印出来并且它们匹配)。有什么想法吗?

<?php

    $args = array( 'post_type' => 'team', 'showposts' => -1 );

    $items = new WP_Query( $args ); 

    while ($items->have_posts()) : $items->the_post();
        $title = the_title(); // one of the titles in the while loop is indeed "Jon Snow"
        $comp = 'Jon Snow';

        if ( $title === $comp ){
          echo 'Success!';
        }
    endwhile;  
    wp_reset_query(); 
?>

哦,每当IF语句不起作用时,系统就会在while循环中打印出所有 the_title()值。

1 个答案:

答案 0 :(得分:1)

  

哦,每当IF语句不起作用时,系统就会打印出来   输出while循环中的所有the_title()值。

您已在自己的问题中回答。默认情况下,the_title()会打印帖子的标题。要比较标题,首先必须将其保存在变量中,然后进行比较。

the_title()接受3个参数,第3个参数(FALSE)是将标题作为返回值而不是仅打印它。第三个参数默认为TRUE,它在页面上打印标题。

这就是你可以做到的。

<?php $posttitle=the_title( '', '', FALSE); ?>
相关问题