括号而不是逗号使用 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);
所以我正在尝试使用 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);