我花了几个小时摔跤,但仍然感到困惑.我有一个简单的if else语句,如下所示:
<?php foreach($authors as $author): ?>
<?php if (!$authors): ?>
<p>No authors found</p>
<?php else: ?>
<p><a href="<?= base_url('pages/author/'.$author->id); ?>"><?= $author->name; ?></a></p>
<?php endif; ?>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
$ authors是数据库搜索的结果(使用Codeigniter查询构建器类,虽然我不相关),因此我相信一个对象数组.如果它找到数据,代码工作正常.但是,如果搜索没有返回任何内容,则"未找到作者"不会显示.在零搜索之后,$ authors的var_dump给出:
array (size=0)
empty
Run Code Online (Sandbox Code Playgroud)
我也尝试将if条件写为:
(!isset($authors))
(empty($authors))
($authors == null)
Run Code Online (Sandbox Code Playgroud)
但没有任何作用.感激如果有人能提出正在发生的事情.