括号而不是逗号使用 foreach 创建 JSON 和 PHP

Brackets instead of comma using foreach to create JSON with PHP

所以我正在尝试使用 ajax 请求使用 php 创建一个开源文件管理器,当我使用 json_encode 时,我的 json 响应关闭每个数组键的括号。

这是代码(PHP):

<?php

$fileDirectory = "files/";
$fileArray = array_slice(scandir("$fileDirectory"), 3);
$fileSizeArray = array();

foreach($fileArray as $File){
    $fileSizeArray[$File] = filesize($fileDirectory.$File);
}

foreach($fileSizeArray as $File => $fileSize){
    echo json_encode ([
        $filesResponseArray[] = array(
            'fileName' => $File,
            'fileSize' => $fileSize
        )
    ]);
}

这是结果:

[{"fileName":"61177d35527fd_w68FQFb.png","fileSize":10752}][{"fileName":"611780a39307c_1152265.jpg","fileSize":1383556}]

我需要这个结果

[{"fileName":"61177d35527fd_w68FQFb.png","fileSize":10752},{"fileName":"611780a39307c_1152265.jpg","fileSize":1383556}]

你编码得很快。试试这个:

<?php

$fileDirectory = "files/";
$fileArray = array_slice(scandir("$fileDirectory"), 3);
$fileSizeArray = array();

foreach($fileArray as $File){
    $fileSizeArray[$File] = filesize($fileDirectory.$File);
}

foreach($fileSizeArray as $File => $fileSize){
        $filesResponseArray[] = array(
            'fileName' => $File,
            'fileSize' => $fileSize
        );
}

echo json_encode($filesResponseArray);