为了账号安全,请及时绑定邮箱和手机立即绑定

比较运算符问题,当模板变量为零时

比较运算符问题,当模板变量为零时

PHP
呼如林 2023-04-28 14:23:39
在 content.php 页面上,我有以下内容:$html_videos = '';if (!empty($videos)) {    foreach ($videos as $key => $video) {        $video = PT_GetVideoByID($video, 0, 0, 0);        $html_videos .= PT_LoadPage('videos/list', array(            'SELL_VIDEO' => $video->sell_video,             'RENT_PRICE' => $video->rent_price         ));    }}在它加载的 list.html 页面上,我有            <?php $affitta = '{{RENT_PRICE}}'; echo $affitta; if (!empty($affitta) && $affitta !== 0) { ?><span class="bold">|</span> {{LANG rent}} <span style='color:#a84849;font-weight:500;'>$ {{RENT_PRICE}}</span><?php } else { echo "FREE"; } ?>{{LANG 租金}} 等于“租金”Var $affitta 总是回声很好;然而,无论是 0 还是 5,它总是返回跨度,因此是“Rent $affitta value”,而当 $affitta 等于零时,我希望它返回“FREE”。我尝试将 && $affitta !== '0' 与引号一起使用,但行为相同。如果可能有帮助,数据库中的列是整数,默认值为 0。所以,我想做的是,如果 RENT_PRICE ($affitta) 为零,则显示免费;如果不为零,则显示租金,但无论我做什么尝试我永远无法让它将 $affitta 识别为零,尽管回声显示它为零。我广泛搜索了答案并尝试了其他各种建议的解决方案,但没有成功。我希望我已经说清楚了,如果没有,请告诉我并让我澄清一下。我做错了什么?
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果有了最后一行代码(在 中list.html),您的生活会更轻松,而不是一遍又一遍地跳入和跳出 PHP。这一行:


<?php $affitta = '{{RENT_PRICE}}'; echo $affitta; if (!empty($affitta) && $affitta !== 0) { ?><span class="bold">|</span> {{LANG rent}} <span style='color:#a84849;font-weight:500;'>$ {{RENT_PRICE}}</span><?php } else { echo "FREE"; } ?>

就是这样:


<?php 

$affitta = '{{RENT_PRICE}}'; 

echo $affitta; 

if (!empty($affitta) && $affitta !== 0) { 

    echo '<span class="bold">|</span> {{LANG rent}} <span style="color:#a84849;font-weight:500;">$ {{RENT_PRICE}}</span>';

} else { 

    echo "FREE"; 

然后,通过更具可读性的内容,很容易看出您的问题所在。$affitta您定义as的值'{{RENT_PRICE}}',它显然不等于 0 或任何价格。您的模板系统将替换{{RENT_PRICE}}为实际值,但这里不是数字。你实际上是在评估:if ('{{RENT_PRICE}}' !== 0) {......


您需要与$video->rent_price代码中较早的值进行比较。您如何访问该值完全取决于PT_LoadPage函数内部发生的情况。


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信