2013-12-16 66 views
0

我嘗試將一個字符串放到$qDateTime並打印出來。 我期望的結果是Array ([0] => 2013-12-16 08:38:33 [1] => 2013-12-16 08:44:58)。 但它打印Array ([0] => 2013 [1] => 2013)。 而$temp可以像2013-12-16 08:38:332013-12-16 08:44:58那樣正確打印出來。不能將字符串放入PHP中的數組

$qDateTime = array(); 

    $query = "SELECT joinDateTime FROM queueItem WHERE uid = '".$uid."' AND isValid = true;"; 
    $result = mysql_query($query) or die("Fail"); 
    while($array = mysql_fetch_array($result)){ 
     $temp = $array['joinDateTime']; 
     $qDateTime[] += $temp; 
     echo $temp; 

    } 
    print_r($qDateTime); 
+2

推到數組正確的語法是'$ qDateTime [] = $溫度;' – vikingmaster

+0

'$ qDateTime [] = $溫度',而不是'+ ='。 – deceze

回答

3
$temp = $array['joinDateTime']; 
    $qDateTime[] += $temp; 
    echo $temp; 

你到陣列錯誤分配數據:

$qDateTime[] += $temp; 

應該是:

$qDateTime[] = $temp; 

因爲你使用在你的代碼+=,PHP是轉換將日期字符串轉換爲整數,並將其用於結果;所以你的2013-12-16 08:38:332013-12-16正在成爲2013

0

您應該使用的$qDateTime[] = $temp;代替$qDateTime[] += $temp;

while($array = mysql_fetch_array($result)){ 
     $temp = $array['joinDateTime']; 
     $qDateTime[] = $temp; 
     echo $temp; 

    } 

    var_dump($qDateTime); 
0

數據分配的方式來排列不正確。它應該是,

$qDateTime[] = $temp; instead of $qDateTime[] += $temp; 

print_r($qDateTime); 

所以正確的代碼必須是,

$qDateTime = array(); 

    $query = "SELECT joinDateTime FROM queueItem WHERE uid = '".$uid."' AND isValid = true;"; 
    $result = mysql_query($query) or die("Fail"); 
    while($array = mysql_fetch_array($result)){ 
     $temp = $array['joinDateTime']; 
     $qDateTime[] = $temp; 
     echo $temp; 

    } 
    print_r($qDateTime); 
相關問題