[英]Cannot compare two identical strings in PHP?
我在这段代码上停留了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()值。
哦,每当IF语句不起作用时,系统只会在while循环中打印出所有the_title()值。
您已经回答了自己的问题。 默认情况下, the_title()打印帖子的标题。 要比较标题,您首先必须将其保存在变量中,然后进行比较。
the_title()接受3个参数,而第3个参数(FALSE)将获取标题作为返回值,而不仅仅是打印它。 第三个参数默认情况下为TRUE,并在页面上打印标题。
这就是您可以做到的。
<?php $posttitle=the_title( '', '', FALSE); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.