使用php将数据编码到json

Igo*_*gor 0 php json

我在php中做一个Web服务来将数据编码为json.我的PHP代码是:

    function getProgramDay($day)
{

    global  $DDBB_SERVER, $DDBB_USER, $DDBB_PASSWORD, $DDBB;



    $sql = "SELECT program.id, programa.name FROM `mybd` WHERE program.day = '" . $day . "'";


    $con = mysqli_connect($DDBB_SERVER, $DDBB_USER, $DDBB_PASSWORD, $DDBB);

    if (!$con) {
        die('Error de Conexión (' . mysqli_connect_errno() . '): ' . mysqli_connect_error());
    }

    if (!mysqli_set_charset($con, "utf8")) {
        die("Error loading character set utf8:" . mysqli_error($con));
    }

    $result = mysqli_query($con, $sql);

    $res = array();

    // Prepare data
    while ($row = mysqli_fetch_assoc($result)) {
        $res[] = $row;
    }

    // Free resultset
    mysqli_free_result($result);

    // Close connection
    mysqli_close($con);

    // Return data
    return $res;

}
Run Code Online (Sandbox Code Playgroud)

而这个函数在json中的结果是:

[{"id":"1","nombre":"Hello"}]
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

{"results":[{"id":"1","nombre":"Hello"}]}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我试过但不行:

return "{'results':" .$res . "}";
Run Code Online (Sandbox Code Playgroud)

非常感谢 :-)

Ved*_*eda 6

return json_encode(array("results"=>$res));
Run Code Online (Sandbox Code Playgroud)

如评论中所述,如果要返回数组并在调用代码中创建json,请执行以下操作:

return array("results"=>$res);
Run Code Online (Sandbox Code Playgroud)