gpt4 book ai didi

php 如果 foreach 语句有效,但不显示消息

转载 作者:行者123 更新时间:2023-12-02 08:48:28 25 4
gpt4 key购买 nike

我正在从我的模型中获取一组数据,并使用 php foreach 语句将其显示在 View 中。我正在添加另一层逻辑以仅显示某些 bookmark_id。

数据显示正常;但出于某种原因,如果没有返回数据,“else”消息(与第一个 if 子句相关联)不会显示。我需要弄清楚如何显示该消息。

<?php 

if ($bookmark):
foreach($bookmark as $b): ?>

<?php if ($b->bookmark_id != 0) { ?>

<li><?php echo $bk->user_id; ?> <?php echo $bk->bookmark_name; ?></li>

<?php } ?>


<?php
endforeach;
else:
print "Your bookmark list is empty.";
endif;

?>

最佳答案

你正在测试 $bookmark 是否存在!我假设它始终存在,要么为空,要么带有值数组!

试试这个:

<?php 

if (is_array($bookmark) && count($bookmark)>=1):
foreach($bookmark as $b): ?>

<?php if ($b->bookmark_id != 0) { ?>

<li><?php echo $bk->bookmark_name; ?></li>

<?php } ?>


<?php
endforeach;
else:
print "Your bookmark list is empty.";
endif;

?>

阅读:PHP is_array() | count()

已编辑

与最近发布的评论相关 “是的,数组正在返回结果;我正在使用第二个 if 语句来限制显示的内容。听起来我的 else 语句应该被绑定(bind)到第二个 if 子句,而不是第一个。对我来说,问题不是是否有结果;而是在过滤结果后是否还有任何东西。”:

<?php 

// reset variable
$count = 0;

// if it is an array and is not empty
if (is_array($bookmark) && count($bookmark)>=1):
foreach($bookmark as $b):
if ($b->bookmark_id != 0) {
echo '<li>' . $bk->bookmark_name . '</li>';
} else {
$count++; // no data, increase
}

// check if the counter was increased
if ($count>=1) {
print "Your bookmark list is empty.";
}
endforeach;
else:
print "bookmark not found.";
endif;

?>

关于php 如果 foreach 语句有效,但不显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com