在PHP中为数组分配键和值

时间:2014-08-12 10:15:33

标签: php arrays json key

我有以下内容将我需要的值分配给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]

2 个答案:

答案 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++;
}