我有以下内容将我需要的值分配给php
中的数组 $resultsAr[$row['stop_name']][$row['route_long_name']][] = $row['arrival_time'];
然而,当我将其转换为JSON时,它没有任何键。
echo json_encode($resultsAr);
e.g。
{
Stop1: {
Destination1: [
"11:13",
"11:25"
],
Destination2: [
"11:15",
"11:27"
],
Destination3: [
"11:14",
"11:23",
"11:26"
]
},
它们的键实际上是值。如何为数组指定键名?
已编辑:所需的JSON输出将是具有值的键:
[Stops => all stops] [destinations => destinations] [times => arrival times]
答案 0 :(得分:1)
你可以尝试:
$obj = new stdClass();
$obj->name = "Stop1";
$obj->data = array(
array("Destination1",array("11:13","11:25")),
array("Destination2",array("11:13","11:25")),
array("Destination3",array("11:13","11:25")),
);
echo json_encode($obj);
在旁注上只有数字项可以不带引号出现。 json.org
还要解释stdclass - What is stdClass in PHP?
答案 1 :(得分:0)
如果要将数组编码为json
,则必须为数组设置键示例:
$i=0;
foreach ($rows as $row) {
$resultsAr[$row['stop_name']][$row['route_long_name']][$i] = $row['arrival_time'];
$i++;
}