我有以下代码:
$search = '3,39,49,5,5,2012';
$search = mktime($search);
echo $search;
这只是输出当前时间戳,而不是指定日期的时间戳。但是,如果我执行以下操作:
$search = mktime(3,39,49,5,5,2012);
echo $search;
它输出正确的时间戳,1336203589。有什么想法吗?
尝试这个:
$search = '3,39,49,5,5,2012';
$search = call_user_func_array('mktime',explode(',', $search));
echo $search;
mktime 需要一个时间值数组,因此您只需使用explode
oder拆分数组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]);
那是因为您需要指定一个整数列表到mktime
. 您将 a 传递string
给它(您的理解是一个列表,但对于 php 解释器而言并非如此)。您需要将其转换为这样的列表:
$search = '3,39,49,5,5,2012';
$search = mktime(explode(',', $search));
echo $search;