PHP函数返回use,而不是echo,作为变量存储。
我的数据库有一个开始时间戳和一个结束时间戳。虽然我对函数还没有太多的经验,但我创建了一个函数,它基本上输出以小时和分钟为单位的持续时间,即开始和结束之间的差异 这一切都是可行的,但它是自动打印的,我想实现的是将结果存储为变量并进行响应的能力 以下是函数:PHP函数返回use,而不是echo,作为变量存储。,php,function,variables,echo,diff,Php,Function,Variables,Echo,Diff,我的数据库有一个开始时间戳和一个结束时间戳。虽然我对函数还没有太多的经验,但我创建了一个函数,它基本上输出以小时和分钟为单位的持续时间,即开始和结束之间的差异 这一切都是可行的,但它是自动打印的,我想实现的是将结果存储为变量并进行响应的能力 以下是函数: function session_duration($start, $end) { $date_start = new DateTime($start); //start time $date_end = new DateTim
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\u duration($start,$end)
,都会显示持续时间,我希望能够做到的是:
$duration = session_duration($start, $end);
echo 'Duration: ' . $duration;
我想我想要的是关于如何构建一个结束返回的建议,一个在函数中没有响应但我缺乏知识的输出编译。任何帮助都将受到感激
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\u string.=\u\u
而不是$return\u string=$return\u string___代码>
或者,您可以使用$return\u string.=\u\u
而不是$return\u string=$return\u 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$returnValue;
}您要查找的关键字是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$returnValue;
}字符串不使用+=
。我想你的意思是=
。这太棒了,现在你们两个提到了+=
和=
,我已经能够找到赋值运算符,这正是我想要的,一种生成最终结果然后作为echo返回的方法。谢谢你,康诺姆伍德和塔纳斯,你教育了我,我很感激@morgyface你应该将Thanasis的答案标记为公认的问题。在这种情况下,他的回答是正确的,你要求的也是正确的。继续!+=
不用于字符串。我想你的意思是=
。这太棒了,现在你们两个提到了+=
和=
,我已经能够找到赋值运算符,这正是我想要的,一种生成最终结果然后作为echo返回的方法。谢谢你,康诺姆伍德和塔纳斯,你教育了我,我很感激@morgyface你应该将Thanasis的答案标记为公认的问题。在这种情况下,他的回答是正确的,你要求的也是正确的。继续!