我正在尝试对目录中的每个文件进行排序,读取json数据,对其进行解码,将其放入数组中,然后将其全部写入新文件。
我遇到的问题是结果数组只是一个json数据数组的数组。
这是我的代码:
$AllAppointmentDataFileName = 'AllAppointmentData.jsonp';
$AllAppointmentDataURL = '../Appointments/' . $AllAppointmentDataFileName;
if ($handle = opendir('../Appointments')) {
while ( false !== ($entry = readdir($handle)) ) {
if ($entry != "." && $entry != ".." && $entry != $AllAppointmentDataFileName) {
$AllAppointmentData .= json_decode(file_get_contents('../Appointments/' . $entry));
print_r($AllAppointmentData); echo "<br>";
echo "$entry:<br>" . file_get_contents('../Appointments/' . $entry) . "<br>";
}
}
closedir($handle);
}
file_put_contents($AllAppointmentDataURL, json_encode($AllAppointmentData));
print_r只返回“Array”。
答案 0 :(得分:3)
.=
运算符用于字符串连接;它不是为元素添加元素。
您应该使用[] =
代替:
$AllAppointmentData[] = json_decode(file_get_contents('../Appointments/' . $entry));
如果您的文件包含要合并到单个数组中的数组,则可以使用foreach循环:
$curAppointmentData = json_decode(file_get_contents('../Appointments/' . $entry));
foreach ($curAppointmentData as $obj) {
$AllAppointmentData[] = $obj;
}