如果没有搜索结果,则返回消息


Echo message if no search resultsq

下面的代码将我的搜索结果返回到页面上。当没有搜索结果时,我试图回显一条消息,但似乎无法显示该消息。

我检查是否没有结果的最好方法是什么??

代码:

    <?php if(isset($search_results)) {foreach($search_results as $result): ?>
<?php  if(empty($search_results)) {echo 'No results';}
    else {
    echo '<div class="search_result"> <b>'.$result['title'].'</b><br />';
   echo '<span class="search_result_url">'.$result['link'].'</span><br />';
   echo $result['text'].'<br /></div>';
    } ?>
    <?php endforeach; } else {echo '<b>Please type what you are looking for into the search bar and press ''enter''</b>';}?>

您需要在foreach循环之前检查$search_results数组是否为空

 <?php 
if( isset($search_results) ) {
    if( empty($search_results) ) {
        echo 'No results';
    } else {
        foreach($search_results as $result) {
            echo '<div class="search_result"> <b>'.$result['title'].'</b><br />';
            echo '<span class="search_result_url">'.$result['link'].'</span><br />';
            echo $result['text'].'<br /></div>';
         }
    } 
} else {
    echo '<b>Please type what you are looking for into the search bar and press ''enter''</b>';
}
?>

你的脚本不可能工作,因为只要$search_results不为空,foreach循环就会强制转换,因此if(empty($search_results)) {echo 'No results';}永远不会为真。

尝试如果(空(结果)美元){回声"没有结果";}

或if($result!='$empty') {echo 'No results';} ($empty取决于'empty'的含义)