Многоуровневый массив php для строки json. Вывод неверный - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь сгенерировать многоуровневый массив PHP с DB-Connection, который я могу кодировать в 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"
    }
  ]
}

Таким образом, ошибка на шаге 1 заключена в квадратную скобку после переменной $ tabContent. Но без этого я не могу сделать многоуровневый массив. Что я могу сделать, чтобы убрать вторую квадратную скобку после «хранилища»?

1 Ответ

0 голосов
/ 13 мая 2018

Ваш $ tabContent уже является массивом, и вы заключаете его в дополнительный массив. Без этого все должно получиться как положено.

$tabelled['repositories'] = $tabContent;
...