2011-09-30 84 views
1

在下面可能的輸出功能,也許如何編輯implode,以便它將連接兩個字符串的值?

1 day and 2 hours and 34 minutes 

我的問題是我怎麼編輯破滅所以它會輸出

1 day, 2 houts and 34 minutes 

這是我的功能

function time_difference($endtime){ 
    $hours = (int)date("G",$endtime); 
    $mins = (int)date("i",$endtime); 

    // join the values 
    $diff = implode(' and ', $diff); 

    if (($hours == 0) && ($mins == 0)) { 
     $diff = "few seconds ago"; 
    } 
    return $diff; 
} 

回答

0

我會做這樣的事情:

if ($days) { 
    $diff .= "$days day"; 
    $diff .= $days > 1 ? "s" : ""; 
} 
if ($hours) { 
    $diff .= $diff ? ", " : ""; 
    $diff .= "$hours hour"; 
    $diff .= $hours > 1 ? "s" : ""; 
} 
if ($mins) { 
    $diff .= $diff ? " and " : ""; 
    $diff .= "$mins minute"; 
    $diff .= $mins > 1 ? "s" : ""; 
} 
0

有很多地方用於x前一時間的功能。 here是PHP中的two。這裏的one使用Javascript。

+0

謝謝你,但我想堅持我有什麼。 (我試了兩個PHP,沒有爲我工作) – EnexoOnoma

1

是這樣的嗎?

function implodeEx($glue, $pieces, $glueEx = null) 
{ 
    if ($glueEx === null) 
     return implode($glue, $pieces); 
    $c = count($pieces); 
    if ($c <= 2) 
     return implode($glueEx, $pieces); 

    $lastPiece = array_pop($pieces); 
    return implode($glue, array_splice($pieces, 0, $c - 1)) . $glueEx . $lastPiece; 
} 

$a = array('a', 'b', 'c', 'd', 'e'); 
echo implodeEx(',', $a, ' and '); 
+0

我改變了這個'$ diff = implode('和',$ diff);'到'$ diff = implodeEX('和',$ diff);'但是沒有有所作爲 – EnexoOnoma

+0

@mtopia你有沒有試過看GolezTrol的例子他是怎麼稱呼它的?這就是:'implodeEx(',',$ a,'和')' – kapa

相關問題