php为数据表创建和填充多维数组

php为数据表创建和填充多维数组,php,Php,我正在使用DataTables,它需要JSON对象的特定格式来填充表 应该是这样的: {"aaData": [ [ "Trident", "Internet Explorer 5.1", "Win 95+", 4, "X" ], [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ], [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5

我正在使用DataTables,它需要JSON对象的特定格式来填充表

应该是这样的:

{"aaData": [
        [ "Trident", "Internet Explorer 5.1", "Win 95+", 4, "X" ],
        [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
        [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
        [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
        [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ]
}
{"aaData":[
[]],
"0":["data1","data2","data3","data4","data5"],
"1":["data11","data21","data31","data41","data51"],
etc.....]
}
我已经尝试了上百种不同的方法,但无法获得类似于上面的内容,因此DataTables不接受它

这是我最近的一次尝试:

$aaData["aaData"] = array(array());
$i=0;
while($r= mysql_fetch_assoc($sql)){
    $aaData[$i][] = $r["data1"];
            $aaData[$i][] = $r["data2"] ;
            $aaData[$i][] = $r["data3"] ;
    $aaData[$i][] = $r["data4"] ;
            $aaData[$i][] = $r["data5"] ;

            $i++;
}
$aaData=json_encode($aaData);
echo $aaData;
这给了我一个来自服务器的JSON响应(经Firebug验证),如下所示:

{"aaData": [
        [ "Trident", "Internet Explorer 5.1", "Win 95+", 4, "X" ],
        [ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
        [ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
        [ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
        [ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ]
}
{"aaData":[
[]],
"0":["data1","data2","data3","data4","data5"],
"1":["data11","data21","data31","data41","data51"],
etc.....]
}
因此,我不需要密钥(0,1…),也不需要“[]”之类的东西。 我在这里和任何地方都看过类似的帖子,但没有找到任何对我有帮助的东西。 我怎样才能摆脱它们? 谢谢你的帮助。

使用这个

$aaData["aaData"] = array();
//$i=0;
while($r= mysql_fetch_assoc($sql)){
    $arr= array();
    $arr[] = $r["data1"];
    $arr[] = $r["data2"] ;
    $arr[] = $r["data3"] ;
    $arr[] = $r["data4"] ;
    $arr[] = $r["data5"] ;
    array_push($aaData["aaData"],$arr);
        //$i++;
}
$aaData=json_encode($aaData);
echo $aaData;

工作示例

只是一次打字事故。我仍在验证你的代码。很抱歉。谢谢,约格什。谢谢,但那也不行。这就是它给我的。“3:“3:[“数据3”,“3:[“数据3”,“3:[“数据4”,“4:“数据5”,“4:“数据5”,“5:[“数据5”,,“5:“数据11”,“5:“数据11”,,,“0:“0:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,“1:“1:[“1:[“1:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,3],[4,4,4,4,4]]},第一个“[”和最后一个“]”不应该在那里,因此它将与DataTable所要求的相同。@Bernard是JSON我的朋友,不是字符串。它有限制。我们无法删除[].Hi Yogesh。我明白你的意思,但DataTable的那些人仍然需要它,而且他们的用户似乎设法按照要求完成了它。感谢你迄今为止的帮助。我会继续尝试。