为什么 php json_encode编码二维数组但输出纯数组


Why php json_encode encodes two dimensional array but outputs pure array

$my_array = array(
        0 => array(
                1,
                2,
                3,
            ),
        1 => array(
                1,
                2,
                3,
            ),
        2 => array(
                1,
                2,
                3,
            ),
    );
echo json_encode($my_array);

结果是这样的:

[[1,2,3],[1,2,3],[1,2,3]]

我以为输出应该是一串json,但是这里输出一个纯数组,为什么?换句话说,结果应该被引用,但为什么不是。

JSON_FORCE_OBJECTjson_encode()

一起使用
echo json_encode($my_array, JSON_FORCE_OBJECT);

程序输出

{"0":{"0":1,"1":2,"2":3},"1":{"0":1,"1":2,"2":3},"2":{"0":1,"1":2,"2":3}}

演示