我正在检查我的变量中存储的值是否等于0或1
根据值,我想在我的html表单中显示一些文本。
我在$ details [' status']里面的值是string类型的0。
当我在if-else结构之外的print_r()时,结果是0
但是,如果我在if语句中使用print_r(),我什么也得不到。
我做了一个var_dump(),其值是string
<form class="form-horizontal" action="/MVC/teacher/becomeTeacher" method="post">
<?php print_r($details['status'])?> <!-- Gives me 0 -->
<?php if($details['status'] === 1): ?>
This will show if the status value is 1.
<? elseif ($details['status'] === 0): ?>
Otherwise this will show.
<?php endif; ?>
</form>
修改
我尝试了多种选择。
选项A - 两个if语句都执行。
<?php if($details['status'] == 0): ?>
This will show if the expression is true.
<? elseif ($details['status'] == 1): ?>
Otherwise this will show.
<?php endif; ?>
选项B - 两个if语句都执行
<?php if($details['status'] === '0'): ?>
This will show if the expression is true.
<? elseif ($details['status'] === '1'): ?>
Otherwise this will show.
<?php endif; ?>
我找到了一个解决方案,但我发现它是多余的
<?php if($details['status'] === '1'): ?>
This will show if the expression is true.
<?php endif; ?>
<?php if($details['status'] === '0'): ?>
Otherwise this will show.
<?php endif; ?>
答案 0 :(得分:1)
我发现了这个问题。
你在elseif行上错过了来自<?
的php。它应该是<?php
,除非你启用了短标签,我猜你没有。
<?php if($details['status'] == 0): ?>
This will show if the expression is true.
<? elseif ($details['status'] == 1): ?>
Otherwise this will show.
<?php endif; ?>
应该是:
<?php if($details['status'] == 0): ?>
This will show if the expression is true.
<?php elseif ($details['status'] == 1): ?>
Otherwise this will show.
<?php endif; ?>
答案 1 :(得分:0)
我认为问题在于“===”,===用于比较确切的类型,我认为在你的情况下,$ detail ['status'] =“0”实际上是字符串,所以它不会进入你的任何if语句。
Here a reference to php comparison operators。希望它有所帮助。
在您的情况下,将if语句更改为DATE()
将解决您的问题。