php读取json文件转为数组的方法:1、使用“file_get_contents('文件路径')”语句,将json文件内容读取并存入一个字符串中;2、使用“json_decode(json字符串,true)”语句,将json数据转为数组。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php读取json文件转为数组的方法

实现思想:

  • 读取json文件,将文件内容的数据读取到一个字符串中保存

  • 将json字符串转为数组

实现方法:

  • 使用file_get_contents():将json文件读入一个字符串

  • json_decode():将json字符串转为数组

    json_decode()函数可以将JSON编码的字符串转换为适当的PHP数据类型。

    默认情况下,json_decode()函数将返回一个对象;但是,当第二个参数指定为一个布尔值true,这样JSON值就会将被解码为关联数组。

实现示例:

有这么一个test.json文件,里面的内容为:

1.png

将其转为PHP数组:

<?php
header('content-type:text/html;charset=utf-8');   
$json_string=file_get_contents('test.json');
echo $json_string;
$arr=json_decode($json_string,true);   //将json字符串转成php数组
var_dump($arr);
?>

2.png

说明:file_get_contents()函数

file_get_contents() 函数可以将文件的内容读取到一个字符串中,语法:

file_get_contents($filename,$include_path,$context,$offset,$max_length)

参数说明如下:

  • $filename:要读取的文件的名称;

  • $use_include_path:可选参数,用来设定是否想要在 include_path 中搜索该文件,默认为 FALSE;

  • $context:可选参数,用来表示使用 stream_context_create() 函数创建的有效的上下文资源,如果不需要自定义 context,可以用 NULL 来忽略;

  • $offset:可选参数,用来设定文件中开始读取的位置。注意,不能对远程文件使用该参数;

  • $maxlen:可选参数,用来设定读取的字节数,默认是读取文件的全部内容。

注意:file_get_contents() 函数执行失败时,可能返回 Boolean 类型的 FALSE,也可能返回一个非布尔值(如空字符)。所以一般使用===运算符测试此函数的返回值。

扩展知识:

除了可以将文件读入一个字符串,还可把整个文件读入一个数组中,只需要使用file()函数即可。想要简单了解该函数,可以参数文章《php怎么逐行将整个文件数据存入数组中》


php怎么读取json文件转为数组