Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON文件转换为PHP文件,PHP文件包含一个return[];对于include()';惯性导航与制导?_Php_Json - Fatal编程技术网

如何将JSON文件转换为PHP文件,PHP文件包含一个return[];对于include()';惯性导航与制导?

如何将JSON文件转换为PHP文件,PHP文件包含一个return[];对于include()';惯性导航与制导?,php,json,Php,Json,JSON文件大约有15000行,最大嵌套级别为7。大约15次检查后,json_decode()需要1.4到2.1秒。我已经手动将JSON文件转换为PHP文件,周围有一个附加数组,前面有一个return。现在读取和处理需要0.03秒 JSON文件示例: { "lvel1": { "level2": { "level3": [ 1, 85151, 895151,

JSON文件大约有15000行,最大嵌套级别为7。大约15次检查后,
json_decode()
需要1.4到2.1秒。我已经手动将JSON文件转换为PHP文件,周围有一个附加数组,前面有一个
return
。现在读取和处理需要0.03秒

JSON文件示例:

{
  "lvel1": {
      "level2": {
          "level3": [
              1,
              85151,
              895151,
          ]
      }
   }
}
所需的PHP文件:

return [
  "lvel1" => [
      "level2" => [
          "level3" => [
              1,
              85151,
              895151,
          ]
      ]
   ]
];
有更简单的方法吗?结果并没有产生任何结果,因为它总是归结为“将JSON转换为数组PHP”

您可以使用生成类似PHP的代码来写入文件,以避免手动将JSON转换为PHP

比如说

<?php

$array = [
  'a', 'b', 'c', 'd'
];


// This bit just creates an example json file to read
// a bit like you have in your example, but smaller
$json = json_encode($array);
file_put_contents('data.json', $json);

// Let's read it again just to show how to retrieve it
$retrieved = file_get_contents('data.json');

// Make it into a PHP array
$newArray = json_decode($retrieved);

var_export($newArray, true);

// Save it into a php file with a return and a ;
file_put_contents('data.php', "return {$phpArray};");
您可以使用生成类似PHP的代码来写入文件,以避免手动将JSON转换为PHP

比如说

<?php

$array = [
  'a', 'b', 'c', 'd'
];


// This bit just creates an example json file to read
// a bit like you have in your example, but smaller
$json = json_encode($array);
file_put_contents('data.json', $json);

// Let's read it again just to show how to retrieve it
$retrieved = file_get_contents('data.json');

// Make it into a PHP array
$newArray = json_decode($retrieved);

var_export($newArray, true);

// Save it into a php file with a return and a ;
file_put_contents('data.php', "return {$phpArray};");

啊,真漂亮!很久以前就听说过var_export,但我从来没有想到这可能会这么容易。一个小警告:我希望它能返回简短的数组符号,但这很好,非常感谢!啊,真漂亮!很久以前就听说过var_export,但我从来没有想到这可能会这么容易。一个小警告:我希望它能返回简短的数组符号,但这很好,非常感谢!你在球上,但有点太晚了:-)。是@Evert的
$json='.''.
打败了我。你在球上,但有点太晚了:-)。是@Evert的
$json='.
打败了我
return array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
  3 => 'd',
);