我有以下代码:
$search = '3,39,49,5,5,2012';
$search = mktime($search);
echo $search;
只输出当前时间戳,而不是指定日期的时间戳。但是,如果我执行以下操作:
$search = mktime(3,39,49,5,5,2012);
echo $search;
它会输出正确的时间戳,1336203589。有什么想法吗?
答案 0 :(得分:4)
试试这个:
$search = '3,39,49,5,5,2012';
$search = call_user_func_array('mktime',explode(',', $search));
echo $search;
答案 1 :(得分:1)
mktime需要一系列时间值,因此您只需将数组与explode
或preg_split
分开即可
$search = '3,39,49,5,5,2012';
$t = explode(',', $search);
$search = mktime($t[0], $t[1], $t[2], $t[3], $t[4], $t[5]);
答案 2 :(得分:1)
这是因为您需要指定mktime
的整数列表。您正在向string
传递一个(为了您的理解是一个列表,但对于php解释器则不然)。您需要将其转换为这样的列表:
$search = '3,39,49,5,5,2012';
$search = mktime(explode(',', $search));
echo $search;