encode_json与PHP和foreach问题

时间:2015-07-23 14:37:31

标签: php json foreach

我有一些PHP代码来提取数据库条目,并将它们放入一个多维数组中。我需要这种格式,我无法弄清楚如何使用foreach循环。

        $res    = $GLOBALS["Database"]->result("SELECT * FROM test");

    $json = array
    (
        "data" => array
        (
            "entry" => array
            (
                array
                        (
                "player"    => $res["id"],
                "reason"    => $res["reason"],
                "postedTimestamp" => $res["posted"],
                "postedLong" => $postedLong
             )
            )
         )
    );

我无法弄清楚将foreach放在哪里,我希望它循环并拉出所有条目,并为它找到的数据库中的每个条目创建一个新的“条目”。

2 个答案:

答案 0 :(得分:0)

该代码中给出的Foreach循环请使用它来管理您的数组。

<?php
//$json = array
//    (
//        "data" => array
//        (
//            "entry" => array
//            (
//                array
//                        (
//                "player"    => $res["id"],
//                "reason"    => $res["reason"],
//                "postedTimestamp" => $res["posted"],
//                "postedLong" => $postedLong
//             )
//            )
//         )
//    );
$r    = $GLOBALS["Database"]->result("SELECT * FROM test");
foreach($r as $res)
{
    $data['data']['entry'][] = array
              (
                "player"    => $res["id"],
                "reason"    => $res["reason"],
                "postedTimestamp" => $res["posted"],
                "postedLong" => $postedLong
             );

}

?>

答案 1 :(得分:0)

为什么不:

$data = array("data"=>array("entry"=>array()));
foreach($res as $r){
    $data['data']['entry'][] = array(
            "player"    => $res["id"],
            "reason"    => $res["reason"],
            "postedTimestamp" => $res["posted"],
            "postedLong" => $postedLong
         );
}

这应该有效:)

这样做,你&#34;进入&#34;数组将具有数字键,然后您可以在其中包含许多结构。知道了吗?