Я пытаюсь сгенерировать многоуровневый массив 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"}
]
}
Таким образом, ошибка на первом шаге заключена в квадратную скобку после переменной $ tabContent. Но без этого я не могу сделать многоуровневый массив.
Что я могу сделать, чтобы убрать вторую квадратную скобку после «хранилища»?
Ваш $ tabContent уже является массивом, и вы заключаете его в дополнительный массив. Без этого все должно получиться, как и ожидалось.
$tabelled['repositories'] = $tabContent;
Других решений пока нет …