Php 打印数组问题

Php 打印数组问题,php,arrays,loops,Php,Arrays,Loops,我有以下代码: <?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='

我有以下代码:

<?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
作为字符串
数组
输出。我需要它像值数组一样输出。有什么建议吗?

您误用了字符串连接运算符
=

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

您误用了字符串连接运算符
=

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

您可能想尝试
var\u dump
而不是
print\u r
。至少用于调试目的

var_dump($mydate);

您可能想尝试
var\u dump
而不是
print\u r
。至少用于调试目的

var_dump($mydate);

请澄清-您的问题中有一个递归;)请澄清-您的问题中有一个递归;)是的,这是个好建议。它的工作原理类似于
print\r
,但也会向您显示所有数据的类型。此外,它还可以将输出格式化为可读的html,并递归转储所有类型对象的成员(以及私有成员)。是的,这是一个很好的建议。它的工作原理类似于
print\r
,但也会向您显示所有数据的类型。此外,它还可以将输出格式化为可读的html,并递归转储所有类型对象的成员(以及私有成员)。