我有PHP和HTML的代码,但我似乎无法让PHP代码回显到HTML.
<?php
countdown(2011,6,7,7,31,0);
function countdown($year, $month, $day, $hour, $minute){
$the_countdown_date=mktime($hour, $minute, 0, $month, $day, $year, -1);
$today=time();
$difference=$the_countdown_date - $today;
$days=floor($difference/60/60/24);
$hours=floor(($difference - $days*60*60*24)/60/60);
$minutes=floor(($difference - $days*60*60*24 - $hours*60*60)/60);
}
?>
<!doctype html>
<html>
<head>
</head>
<body>
<h1><?php echo "$days days $hours hours $minutes minutes";?></h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?提前致谢.
卡勒姆
您正在$days函数内设置变量等,但期望在该函数之外访问它们.这是不可能的,因为变量没有正确的范围.
您可以做的最小变化是:
function countdown($year, $month, $day, $hour, $minute){
global $days, $hours, $minutes; // ADD THIS
$the_countdown_date=mktime($hour, $minute, 0, $month, $day, $year, -1);
$today=time();
$difference=$the_countdown_date - $today;
$days=floor($difference/60/60/24);
$hours=floor(($difference - $days*60*60*24)/60/60);
$minutes=floor(($difference - $days*60*60*24 - $hours*60*60)/60);
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为它使您的变量具有全局范围.但是,这是错误的解决方案.
更好的解决方案是让你的函数返回你需要的值 - 因为有三个值但只返回一个,所以用数组做:
function countdown($year, $month, $day, $hour, $minute){
$the_countdown_date=mktime($hour, $minute, 0, $month, $day, $year, -1);
$today=time();
$difference=$the_countdown_date - $today;
$days=floor($difference/60/60/24);
$hours=floor(($difference - $days*60*60*24)/60/60);
$minutes=floor(($difference - $days*60*60*24 - $hours*60*60)/60);
return array($days, $hours, $minutes);
}
Run Code Online (Sandbox Code Playgroud)
然后,调用函数并检索如下值:
list($days, $hours, $minutes) = countdown(2011,6,7,7,31,0);
Run Code Online (Sandbox Code Playgroud)
"返回数组中的多个值"主题有很多变化; 我在这里使用了最短(但可能不是最清楚,因为它使用list).
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |