php - 防止 var_dump() 返回值自动打印,回显
问题描述
<?php
if ($row['enable_register'] == 'enabled' AND var_dump($row['s_time'] >= new DateTime('now')))
{
echo CheckRegistration($row['enable_register'], $row['attendance_no'], $row['volunteers_no'], $row['preformers_no'], $row['id']);
}
?>
当 if(condition) 为 false 时 var_dump() 返回 bool(false) 值并且它正在回显它,它不应该回显返回值。我只想检查返回值是真还是假
解决方案
为了能够检查checkRegistration
函数的返回值,您应该正确使用 if 语句和条件。
1.首先,适当的使用var_dump
将是:
var_dump(CheckRegistration($row['enable_register'] , $row['attendance_no'],$row['volunteers_no'],$row['preformers_no'], $row['id'] ))
它用于转储信息并返回类型和值。因此,不适合将其用作 if 语句中的条件。
2.其次,格式化日期时间对象
您需要格式化日期时间对象以获得适合您的if条件的所需时间格式:例如;
$obj = new DateTime(); $now = $obj->format('Y/m/d s:i:H'));
注意:在DateTime
构造函数定义now
中是初始化字符串的默认值:
public DateTime::__construct() ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
因此$date = new DateTime()
和$date = new DateTime('now')
是相同的
3.比较
当使用日期字符串时,您应该将它们转换为时间戳strtotime
,以便比较它们的值。但是,DateTime
对象与比较运算符一起使用。您可以直接比较两个 DateTime 对象:例如:`
$today = new DateTime('today');
$yesterday = new DateTime('yesterday');
var_dump($today > $yesterday);
var_dump($today < $yesterday);
var_dump($today == $yesterday);
// Output
bool(true)
bool(false)
bool(false)
` 参考资料:
推荐阅读
- php - 如何在刀片模板中使用带有日期的“If else”条件
- python - 使用 Beautifulsoup 查找版权字符
- css - Element::after - 叠加
- ubuntu - 无法构建使用 Qt5Widgets 的库
- php - WordPress自定义帖子页面不显示
- php - Laravel Maatwebsite excel 数组
- eclipse - SVN Eclipse Subversive 插件和本地存储库
- python - 在不使用任何数字的情况下,在 python 中编写代码以打印从 61 到 70 的数字
- mysql - 获取已排序行的位置
- groovy - 如何在 groovy 脚本上实现 sed 范围模式命令