PHP 函数 return 使用,而不是 echo,存储为变量。
PHP Function return use, not echo, storing as a variable.
我的数据库有一个开始时间戳和一个结束时间戳。虽然我对函数还没有太多经验,但我创建了一个函数,它基本上输出以小时和分钟为单位的持续时间,即开始和结束之间的差异。
一切正常,但它是自动打印的,我想实现的是能够将结果存储为变量并回显它。
函数如下:
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
if ( $duration_hours != '0' ) {
echo $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
echo $duration_mins . 'min';
if ( $duration_mins > '1' ) {
echo 's';
}
}
}
所以无论我在页面上放置 session_duration($start, $end)
,持续时间都会显示,我希望能够做的是:
$duration = session_duration($start, $end);
echo 'Duration: ' . $duration;
我想我正在寻找的是关于如何几乎建立一个结局的建议 return,一个未在函数中回显的输出汇编,但我缺少知识。任何帮助将不胜感激。
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
$return_string = "";
if ( $duration_hours != '0' ) {
$return_string = $return_string . $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
$return_string = $return_string . $duration_mins . 'min';
if ( $duration_mins > '1' ) {
$return_string = $return_string . 's';
}
}
return $return_string;
}
或者您可以使用 $return_string .= ___
而不是 $return_string = $return_string . ___
您要查找的关键字是Return
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
$returnValue = "";
if ( $duration_hours != '0' ) {
$returnValue += $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
$returnValue += $duration_mins . 'min';
if ( $duration_mins > '1' ) {
$returnValue += "s";
}
}
return$return值;
}
我的数据库有一个开始时间戳和一个结束时间戳。虽然我对函数还没有太多经验,但我创建了一个函数,它基本上输出以小时和分钟为单位的持续时间,即开始和结束之间的差异。
一切正常,但它是自动打印的,我想实现的是能够将结果存储为变量并回显它。
函数如下:
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
if ( $duration_hours != '0' ) {
echo $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
echo $duration_mins . 'min';
if ( $duration_mins > '1' ) {
echo 's';
}
}
}
所以无论我在页面上放置 session_duration($start, $end)
,持续时间都会显示,我希望能够做的是:
$duration = session_duration($start, $end);
echo 'Duration: ' . $duration;
我想我正在寻找的是关于如何几乎建立一个结局的建议 return,一个未在函数中回显的输出汇编,但我缺少知识。任何帮助将不胜感激。
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
$return_string = "";
if ( $duration_hours != '0' ) {
$return_string = $return_string . $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
$return_string = $return_string . $duration_mins . 'min';
if ( $duration_mins > '1' ) {
$return_string = $return_string . 's';
}
}
return $return_string;
}
或者您可以使用 $return_string .= ___
而不是 $return_string = $return_string . ___
您要查找的关键字是Return
function session_duration($start, $end) {
$date_start = new DateTime($start); //start time
$date_end = new DateTime($end); //end time
$interval = $date_start->diff($date_end);
$duration_hours = $interval->format('%H');
$duration_mins = $interval->format('%i');
$returnValue = "";
if ( $duration_hours != '0' ) {
$returnValue += $duration_hours . 'hrs ';
}
if ( $duration_mins != '0' ) {
$returnValue += $duration_mins . 'min';
if ( $duration_mins > '1' ) {
$returnValue += "s";
}
}
return$return值; }