Zend2读取全部Json个文件内容和return个结果查看
Zend2 read all Json files content and return results to view
过去 2 天我一直在努力完成这项工作,但我无法深入了解它。我需要从文件夹中读取所有 .json 文件并取回结果,这样我就可以将我的 "statistics" 存储在这些 .json 文件中。
如果我使用 print_r();在控制器中,我从文件中获取包含内容的数组,这正是我想要的,但是当我想将它传递给视图时,无论我尝试什么,我都只得到一个数组,这是第一个。我也尝试使用 JsonModel() 返回但没有成功,我得到了相同的结果。
这是我尝试用来读取文件并希望得到结果的函数:
public function getJSONAction(){
$my_array_data = array();
//$reader = new \Zend\Config\Reader\Json();
//$data = $reader->fromFile('./data/tti/video.json');
$files = glob('./data/stats/*.{json,txt}', GLOB_BRACE);
foreach($files as $file) {
//$data = array($reader->fromFile($file));
$data = file_get_contents($file);
$my_array_data = json_decode($data, TRUE);
$view = new JsonModel ( array(
'my_array_data' => $my_array_data
));
}
$view->setTerminal(true);
return $view;
}
我试了很多方法,但还是不行,有人能给我指出正确的方向吗?或者一些例子会更有帮助。
谢谢。
编辑:
我成功了...这是我的愚蠢错误,我应该输入 ** $my_array_data[] **
感谢您的帮助。
也许这样试一次:
public function getJSONAction(){
$my_array_data = array();
$reader = new \Zend\Config\Reader\Json();
$files = glob('./data/stats/*.{json,txt}', GLOB_BRACE);
foreach($files as $file) {
$data = array($reader->fromFile($file));
$data = file_get_contents($file);
$my_array_data = array_merge( $my_array_data, json_decode($data, TRUE));
}
$view = new JsonModel ( array(
'my_array_data' => $my_array_data
));
$view->setTerminal(true);
return $view;
}
主要区别在于将不同的数据数组合并为一个,然后将合并结果返回到 JsonModel
。
过去 2 天我一直在努力完成这项工作,但我无法深入了解它。我需要从文件夹中读取所有 .json 文件并取回结果,这样我就可以将我的 "statistics" 存储在这些 .json 文件中。
如果我使用 print_r();在控制器中,我从文件中获取包含内容的数组,这正是我想要的,但是当我想将它传递给视图时,无论我尝试什么,我都只得到一个数组,这是第一个。我也尝试使用 JsonModel() 返回但没有成功,我得到了相同的结果。
这是我尝试用来读取文件并希望得到结果的函数:
public function getJSONAction(){
$my_array_data = array();
//$reader = new \Zend\Config\Reader\Json();
//$data = $reader->fromFile('./data/tti/video.json');
$files = glob('./data/stats/*.{json,txt}', GLOB_BRACE);
foreach($files as $file) {
//$data = array($reader->fromFile($file));
$data = file_get_contents($file);
$my_array_data = json_decode($data, TRUE);
$view = new JsonModel ( array(
'my_array_data' => $my_array_data
));
}
$view->setTerminal(true);
return $view;
}
我试了很多方法,但还是不行,有人能给我指出正确的方向吗?或者一些例子会更有帮助。
谢谢。
编辑:
我成功了...这是我的愚蠢错误,我应该输入 ** $my_array_data[] **
感谢您的帮助。
也许这样试一次:
public function getJSONAction(){
$my_array_data = array();
$reader = new \Zend\Config\Reader\Json();
$files = glob('./data/stats/*.{json,txt}', GLOB_BRACE);
foreach($files as $file) {
$data = array($reader->fromFile($file));
$data = file_get_contents($file);
$my_array_data = array_merge( $my_array_data, json_decode($data, TRUE));
}
$view = new JsonModel ( array(
'my_array_data' => $my_array_data
));
$view->setTerminal(true);
return $view;
}
主要区别在于将不同的数据数组合并为一个,然后将合并结果返回到 JsonModel
。