用于json字符串的多级php数组。输出错误

时间:2018-05-13 01:13:05

标签: php arrays json multi-level

我尝试生成一个带有DB-Connection的多级PHP数组,我可以用JSON编码。 输出有一个方括号对,我想删除它。

我有以下php代码

## Step 1 #################
    do{
    $tabContent[] = array
        (
            "name" => $row_profile['name'],
            "titel" => $row_profile['titel']
        );
}while ($row_profile = $statement_profile->fetch(PDO::FETCH_ASSOC));

## Step 2 #################
$tabelled['repositories'] = array 
    (
        $tabContent
    );


## Step 3 #################
header('Content-Type: application/json');
echo json_encode($tabelled, JSON_PRETTY_PRINT);

所以现在我有以下回应:

{
    "repositories": [
        [
            {
                "name": "test",
                "titel": "a sdfaf"
            },
            {
                "name": "Frank wieder",
                "titel": "test test"
            }
        ]
    ]
}

但我需要关注输出

{
  "repositories": [
    {
        "name": "test",
        "titel": "a sdfaf"
    },
    {
        "name": "Frank wieder",
        "titel": "test test"
    }
  ]
}

因此错误是在变量$ tabContent之后的方括号的第1步。但没有我不能制作多级数组。 我该怎么办,删除“存储库”之后的第二个方括号?

1 个答案:

答案 0 :(得分:1)

你的$ tabContent已经是一个数组了,你将它包装在一个额外的数组中。没有它,它应该按预期出现。

$tabelled['repositories'] = $tabContent;