构建JSON目录列表

时间:2013-08-01 06:15:03

标签: php arrays json

我一直在使用数组来执行此操作,然后使用json_encode,但我有一个问题,我需要使用多维数组来正确构建我的JSON字符串。

这个问题是记忆。正如您可能想象的那样,为一个目录中的每个文件创建一个数组,意味着您在一个数组中有数百个数组,在内存上并不是很便宜。

我的问题是,有不同的方式吗?我有以下数组结构:

array(array("key" => "value"),array("key" => "value"))

2 个答案:

答案 0 :(得分:1)

为什么不修改以下代码,以便将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“,”time“:”18/10/2012 - 04:29“,”size“:2981},{”name“:”001.html“,”time“:”02/10/2012 - 01: 26" , “大小”:2596}]

答案 1 :(得分:1)

$array1['key1'] = "value1";
$array2['key2'] = "value2";
$array3['key3'] = "value3";

$finalarray = array($array1, $array2 , $array3);

var_dump($finalarray);

结果:     数组(大小= 3)       0 =&gt;         数组(大小= 1)           'key1'=&gt;字符串'value1'(长度= 6)       1 =&gt;         数组(大小= 1)           'key2'=&gt;字符串'value2'(长度= 6)       2 =&gt;         数组(大小= 1)           'key3'=&gt;字符串'value3'(长度= 6)