无法在PHP中将字符串放入数组中

时间:2013-12-16 16:10:42

标签: php sql arrays

我尝试将字符串放到$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一样正确打印出来。

    $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);

3 个答案:

答案 0 :(得分:3)

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

您错误地将数据分配给数组:

    $qDateTime[] += $temp;

应该是:

    $qDateTime[] = $temp;

因为您在代码中使用+=,所以PHP将日期字符串转换为整数,并将其用于结果;因此,2013-12-16 08:38:332013-12-16正变为2013

答案 1 :(得分:0)

您应该使用$qDateTime[] = $temp;代替$qDateTime[] += $temp;

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

    }

    var_dump($qDateTime);

答案 2 :(得分: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);