PHP从查询开始创建一个数组

时间:2013-11-26 13:24:58

标签: php mysql arrays json

在我的脚本php我需要格式化一个数组结束编码一个json格式从这样的选择开始:

    $result = mysql_query("SELECT datet,vototags,votodom FROM intro_s1 WHERE intro_s1.www = '".$url."' ORDER BY intro_s1.datet DESC");

    $data = array( 
         array('Date', 'v1', 'v2'), 

    );

     while ($row = mysql_fetch_array($result)) {
         $data[] .= array($row['datet'], $row['vototags'], $row['votodom']);
     }


echo json_encode($data);

我需要$ date如下:

[[日期,V1,V2],[11/02 / 2011,12,32],[12/06 / 2012,99,109] [...]

而我的结果是:

[[ “日期”, “V1”, “V2”], “阵列”, “阵列”, “阵列”, “阵列”,[...]

我的代码有问题吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

您在此行使用字符串连接.=

$data[] .= array($row['datet'], $row['vototags'], $row['votodom']);

这样做会将数组转换为一个字符串,为您提供Array值。

如果您删除了.,它应该会为您提供您想要的结果:

$data[] = array($row['datet'], $row['vototags'], $row['votodom']);

或者,如果你真的想确保在数组中添加一个新元素,可以使用array_push()(如果你不关心函数调用的开销,那就是) :

array_push($data, array($row['datet'], $row['vototags'], $row['votodom']));