В цикле я собираю файлы. Мне нужно вернуть это в JSON в таком формате:
{"1":"d.txt","2":"dj.txt"}
Но меня выходит так:
{"1":"d.txt"}{"2":"dj.txt"}
Вот код:
<?
$files = array_diff(scandir("plug/lol/"), ['.','..']);
$lole = [
"count" => count($files)
];
//echo json_encode($lole);
foreach($files as $key=>$lol){
$result = [
$key-1=> $lol
];
echo json_encode($result);
}
?>
Посмотрите на свой код
foreach($files as $key=>$lol){
$result = [
$key-1=> $lol
];
echo json_encode($result);
}
на каждой итерации цикла вы заново определяете массив, и сразу же выводите результат. Вам же надо на итерации добавлять элемент, а вывести все в конце
foreach($files as $key=>$lol){
$result[$key-1] = $lol;
}
echo json_encode($result);
Поможет вам array_merge()
<?
$files = array_diff(scandir("plug/lol/"), ['.','..']);
$array = [];
$lole = [
"count" => count($files)
];
//echo json_encode($lole);
foreach($files as $key=>$lol){
$result = [
$key-1=> $lol
];
$array = array_merge($array, $result);
}
echo json_encode($array);
?>
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники