我一直在使用数组来执行此操作,然后使用 json_encode,但我有一个问题,我需要使用多维数组来正确构建我的 JSON 字符串。
这个问题是内存。正如您可能想象的那样,目录中的每个文件都有一个数组,这意味着一个数组中有数百个数组,这在内存上并不便宜。
我的问题是,有不同的方法吗?我有以下数组结构:
array(array("key" => "value"),array("key" => "value"))
为什么不修改以下代码,将name属性重命名为src?我想你也不需要 size 属性。
<?php
class mFile
{
public $name, $time, $size;
}
foreach (glob("*.*") as $curFilename)
{
$curFileObj = new mFile;
$curFileObj->name = $curFilename;
$curFileObj->time = date("d/m/Y - H:i", filectime($curFilename));
$curFileObj->size = filesize($curFilename);
$fileArray[] = $curFileObj;
}
printf("%s", json_encode($fileArray));
?>
编辑:样本输出
[{"name":"001-deleteMe.html","time":"26/09/2012 - 00:09","size":15062},{"name":"001-test.html", "时间":"18/10/2012 - 04:29","大小":2981},{"名称":"001.html","时间":"02/10/2012 - 01:26", “大小”:2596}]
$array1['key1'] = "value1";
$array2['key2'] = "value2";
$array3['key3'] = "value3";
$finalarray = array($array1, $array2 , $array3);
var_dump($finalarray);
结果:数组 (size=3) 0 => 数组 (size=1) 'key1' => 字符串 'value1' (length=6) 1 => 数组 (size=1) 'key2' => 字符串 'value2' (长度=6)2 =>数组(大小=1)'key3'=>字符串'value3'(长度=6)