【问题标题】:Comparing two text variables not working比较两个文本变量不起作用
【发布时间】:2017-01-21 10:33:01
【问题描述】:

我有这个代码:

<?php
    global $wpdb;
    $ctitle = wp_title('',0);
    $sql = ("SELECT * FROM dbname WHERE naslov LIKE 'Police'");
    $result = $wpdb->get_results($sql);
    foreach ($result as $results) {                            
        $odgovor = $results->naslov; 
    }  
    echo $ctitle;
    echo $odgovor;                                        
    if ( $ctitle === $odgovor ) {
        echo "yes";
    }
    else {
        echo "no";
    }                  

?>

输出是:“PolicePoliceno” - 在任何其他帖子上标题为“Police”和“Some titlePoliceno”的帖子上。 我打印变量只是为了测试...... 目标是在变量相同时回答是。我错过了什么? 使用 strcmp 进行了尝试,结果相似

【问题讨论】:

    标签: php wordpress variables comparison string-comparison


    【解决方案1】:

    我看到你在那里声明$wpdb。你在 WordPress 上吗?如果是这样,我发现this SO question 和你有同样的问题。

    是什么导致比较不起作用,因为两个变量之一上有空格或换行符(请参阅该帖子中接受的答案)。

    解决方案如下:修剪两个字符串:

    if (trim($ctitle) === trim($odgovor)) ...
    

    【讨论】:

    • @rizki-parama,如果你要指出另一个问题,你应该使用评论,而不是答案。 :)
    • @yivi 很抱歉,但您看到我没有足够的声誉来发表评论吧?那我该怎么办?
    • 等到你得到代表。或者尝试写出有意义的答案。不过,你不会通过写不好的答案来得到它。
    • 看看这个:stackoverflow.com/help/how-to-answer。欢迎来到 SO!
    • 这个答案最终解决了它。虽然 wp_title 函数在打印时没有空格,但即使在没有修剪的 SQL 查询中我也无法使用它,所以 Thnx Rizki Pratama :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多