下面是“深入理解PHP JSON数组与对象”的完整攻略:
下面是“深入理解PHP JSON数组与对象”的完整攻略:
一、JSON是什么
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易于读写的文本格式来传递数据。JSON有两种结构:对象和数组。对象是一个无序键值对的集合(键必须用双引号包含),数组是值的有序列表。
二、JSON与PHP
在PHP中,可以使用json_encode()
函数将一个PHP变量转换为JSON格式的字符串,使用json_decode()
函数将一个JSON格式的字符串转换为PHP变量。其中,json_encode()
函数的第二个参数可以设置编码方式,如UTF-8、GBK等。
下面是一个示例:
<?php
$arr = array('name' => '张三', 'age' => 18, 'hobby' => array('篮球', '游泳'));
$json = json_encode($arr);
echo $json;
?>
运行结果:
{"name":"张三","age":18,"hobby":["篮球","游泳"]}
上面的代码中,我们用json_encode()
函数将一个包含姓名、年龄和爱好的PHP数组转换成JSON格式的字符串,并打印出来。
如果JSON格式的字符串中包含数组,json_decode()
函数在解码时,会将其转换为PHP中的数组。下面是一个示例:
<?php
$json = '{"name":"张三","age":18,"hobby":["篮球","游泳"]}';
$arr = json_decode($json, true);
var_dump($arr);
?>
输出结果:
array(3) {
["name"]=>
string(6) "张三"
["age"]=>
int(18)
["hobby"]=>
array(2) {
[0]=>
string(6) "篮球"
[1]=>
string(6) "游泳"
}
}
上面的代码中,我们用json_decode()
函数将上面得到的JSON格式的字符串解成PHP数组,并打印出来。
三、JSON对象操作
1. 通过属性名获取属性值
在PHP中,可以使用->
符号通过属性名获取JSON对象中的属性值。下面是一个示例:
<?php
$json = '{"name":"张三","age":18,"hobby":["篮球","游泳"]}';
$obj = json_decode($json);
echo $obj->name;
?>
输出结果:
张三
上面的代码中,我们用json_decode()
函数将JSON格式的字符串解成JSON对象,并用->
符号获取JSON对象中的name
属性的值。
2. 获取JSON对象中的所有属性名
在PHP中,可以使用get_object_vars()
函数获取一个JSON对象的所有属性名。下面是一个示例:
<?php
$json = '{"name":"张三","age":18,"hobby":["篮球","游泳"]}';
$obj = json_decode($json);
$props = get_object_vars($obj);
print_r($props);
?>
输出结果:
Array
(
[name] => 张三
[age] => 18
[hobby] => Array
(
[0] => 篮球
[1] => 游泳
)
)
上面的代码中,我们用json_decode()
函数将JSON格式的字符串解成JSON对象,并用get_object_vars()
函数获取JSON对象中的所有属性名和属性值。
四、JSON数组操作
1. 通过下标获取数组元素
在PHP中,可以使用[]
符号通过下标获取JSON数组中的元素。下面是一个示例:
<?php
$json = '["篮球","游泳","跑步"]';
$arr = json_decode($json);
echo $arr[1];
?>
输出结果:
游泳
上面的代码中,我们用json_decode()
函数将JSON格式的字符串解成JSON数组,并用[]
符号获取JSON数组中的第二个元素。
2. 获取JSON数组的长度
在PHP中,可以使用count()
函数获取JSON数组的长度。下面是一个示例:
<?php
$json = '["篮球","游泳","跑步"]';
$arr = json_decode($json);
echo count($arr);
?>
输出结果:
3
上面的代码中,我们用json_decode()
函数将JSON格式的字符串解成JSON数组,并用count()
函数获取JSON数组的长度。
到这里,关于“深入理解PHP JSON数组与对象”的攻略讲解就结束了。希望对学习JSON有所帮助。
本文标题为:深入理解PHP JSON数组与对象
基础教程推荐
- laravel实现上传图片的两种方式小结 2023-03-02
- php面向对象程序设计中self与static的区别分析 2023-01-15
- PHP Laravel框架缓存操作介绍 2023-07-03
- 深入理解php中unset() 2023-06-03
- php将xml转化对象的实例详解 2022-09-02
- Laravel框架定时任务2种实现方式示例 2022-11-28
- PHP 获取视频时长的实例代码 2022-11-04
- PHP游戏编程25个脚本代码 2023-12-19
- PHP实现动态柱状图改进版 2023-08-09
- Thinkphp5框架实现获取数据库数据到视图的方法 2023-02-05