Php 如何转换字符串';4H6M&x27;几分钟内一行?

Php 如何转换字符串';4H6M&x27;几分钟内一行?,php,date,Php,Date,如何在几分钟内转换4H6M?我尝试了date(),strotime()和其他一些函数,但没有得到想要的结果 strottime()返回false** Input : 4H6M Output: 246 这不是公认的日期格式,因此如果没有一些手动解析,日期函数将无法工作。不妨完全跳过它们: preg_match('/([0-9]+)H([0-9])M/', '4H6M', $matches); echo $matches[1] * 60 + $matches[2]; 此函数返回0它返回246-

如何在几分钟内转换
4H6M
?我尝试了
date()
strotime()
和其他一些函数,但没有得到想要的结果

strottime()返回false**

Input : 4H6M
Output: 246 

这不是公认的日期格式,因此如果没有一些手动解析,日期函数将无法工作。不妨完全跳过它们:

preg_match('/([0-9]+)H([0-9])M/', '4H6M', $matches);
echo $matches[1] * 60 + $matches[2];

此函数返回0它返回246-请对您的答案添加一些解释,以便其他人可以从中学习
private function getDuration($duration=4H6M) {

    $result = array_combine(
        ['hour', 'minutes'],
        sscanf($duration, '%dH%dM')
    );

    return ($result['hour'] * 60) + $result['minutes'];
}