我有以下代碼:變量和mktime()不工作
$search = '3,39,49,5,5,2012';
$search = mktime($search);
echo $search;
這只是輸出當前時間戳,而不是一個用於指定的日期。但是,如果我執行以下操作:
$search = mktime(3,39,49,5,5,2012);
echo $search;
它輸出正確的時間戳1336203589.任何想法?
我有以下代碼:變量和mktime()不工作
$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
您的陣列奧德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
。你正在向它傳遞一個string
(爲了你的理解,這是一個列表,但對於php解釋器來說不是這樣)。你需要將其轉換爲這樣的列表:
$search = '3,39,49,5,5,2012';
$search = mktime(explode(',', $search));
echo $search;
這是不行的,我剛剛得到的錯誤'警告:mktime()期望參數1很長,在第3行給出的數組' –
哦,我很抱歉。我在那裏犯了一個錯誤。你需要用一個參數列表來調用函數,我用一個列表作爲唯一參數調用它。你需要做的是'call_user_func_array('mktime',explode(',',$ search));'' –
我糾正錯誤 –