Проблема с массивом Print_r - PullRequest
0 голосов
/ 19 августа 2011

У меня есть следующий код:

<?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("coockie");

    $filename ="excelreport.xls";
    $contents = "date \t ip \t visits \t \n";

    $result=mysql_query("select * from test");

    $mydate='';
    $myip='';
    $visits='';

    while($data=mysql_fetch_assoc($result))
    {
        $mydate.=explode(",", $data['date']);
        $myip.=explode(",", $data['ip']);
        $visits.=$data['visits'];

    }

    print_r($mydate);

    //header('Content-type: application/ms-excel');
    //header('Content-Disposition: attachment; filename='.$filename);
    //echo $contents;
?>

$mydate выводится в виде строки Array. Мне нужно, чтобы он выводился как массив значений. Есть предложения?

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Вы неправильно используете оператор конкатенации строк .=

$mydate.=explode(",", $data['date']);

explode дает вам массив, а .= преобразуется в строку Array.Правильный способ - использовать оператор []

$mydate=array();
$myip=array();
$visits='';

while($data=mysql_fetch_assoc($result))
{
    $mydate[]=explode(",", $data['date']);
    $myip[]=explode(",", $data['ip']);
    $visits.=$data['visits'];

}

print_r($mydate);
1 голос
/ 19 августа 2011

Возможно, вы захотите попробовать var_dump вместо print_r. По крайней мере, для целей отладки.

var_dump($mydate);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...