php - 如果变量为空,让我的 div 消失?
问题描述
我使用 PHP/HTML 制作表单。
我已将所有字段划分为 div,并从 SQL Server 的表中获取所有值。如果我从表中获得的值是空的,我想让一些 div 消失。我知道该怎么做,但是如果变量为空,它就不起作用。例如;
<div <?php if (empty($trabalhoSemCarteira)){?>style="display:none"<?php }?>>
<h2>Trabalho sem registro em carteira:</h2>
<div>
<label><?php echo $trabalhoSemCarteira;?></label>
</div>
</div>
这不起作用,我不知道为什么。另一方面;
<div <?php if ($numeroFilhos<3){?>style="display:none"<?php }?>>
<label>Nome do Filho: <?php echo $nomeFilho3;?></label>
<label>Idade: <?php echo $idadeFilho3;?></label><br>
</div>
这个工作就像一个魅力。我在他们两个都做同样的事情。我认为问题出在“空”功能上,我不知道,但这实际上是唯一的区别。
编辑:我尝试使用==null
,is_null()
而不是,empty
但没有任何效果。
解决方案
我对您的数据库收集代码不是非常精通,所以我不能绝对确定问题是什么。首先,正如 CBroe 所提到的,var_dump($trabalhoSemCarteira)
当您一无所获时,使用它来查找您的变量实际上是什么。然后只需将其键入 if 语句。例子:
<?php if($trabalhoSemCarteira === $a){?>style="display:none;"<?php }?>
当然,$a
意味着是任何var_dump($trabalhoSemCarteira)
输出。注意:请让你的代码更干净。实际上,起初我真的无法判断这种格式是否有效。除非您将空块用于其他用途(例如稍后使用 JS 显示块,在这种情况下您的方法绝对有意义),为防止您渲染不必要的无用代码块,仅在变量确实存在时才渲染块. 例子:
<?php if($trabalhoSemCarteira !== $a): ?>
<div>
<h2>Trabalho sem registro em carteira:</h2>
<div>
<label><?php echo $trabalhoSemCarteira;?></label>
</div>
</div>
<?php endif; ?>
显然,$a
无论您的var_dump($trabalhoSemCarteira)
输出如何。
编辑:我刚读了笔记,你说它给了你一个空白空间。将$a
示例中的替换为
。
推荐阅读
- ios - 从地图中心计算地图正方形的坐标
- c++ - 使用 C++17 特性更好地从容器中删除所有指针
- javascript - 从 ajax 调用返回 JSON 到 HTML div
- git - Perl -- commit-msg 钩子在退出时不会停止提交 1
- javascript - Angular 6 ngx-mask 插件,同一输入字段上有多个掩码
- java - Java 浮点的显示精度
- c# - Xamarin C# HttpClient 上传大文件
- android - 不使用 Android 为 Nativescript 构建应用程序
- php - 无法从链接将 arduino 值更新到 xampp 数据库
- java - 使用“application/xml”标头和字符串 xml 作为正文向 HTTPS 服务 url 发送 POST 请求的最佳方式是什么?