php使用json_encode()函数可以把数组,对象转化成JSON格式的字符串,用于和其它页面的数据交互。今天就说一说PHP中json_encode()函数的定义与使用方法。

PHP json_encode()函数定义

json_encode():可以把数组,对像转化成json格式的字符串

语法:json_encode ( value,options,depth)

参数:

value:要被转换的数据,可以是对象,数组或字符串

options:二进制常量,规定一些要转换的字符串的形式(具体,看文未说明)

depth:设置最大深度。 必须大于0。

注意:depth 参数在一些文档或教材中是不存在,但在PHP官方文档中是有介绍的,在平时,不建议使用,略过即可。

PHP 数组转json

利用 json_encode(函数,可以很轻松的将一维数组,以及二维数组转换成 JSON 字符串,如以下的示例代码。

json_encode()转化一维数组

示例代码:<?php

//飞鸟慕鱼博客

//一维数组转成JSON

$arr = array(

'Name' => 'mochu',

'PageHome' => 'http://www.feiniaomy.com',

);

var_dump(json_encode($arr));

?>

由于json_encode()函数返回的结果是字符串形式的,可以利用var_dump()函数来打印

打印结果:string(56) "{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com"}"

json_encode()转化二维数组

示例代码:<?php

//飞鸟慕鱼博客

//二维数组转成JSON

$arr = array(

'Name' => 'mochu',

'PageHome' => 'http://www.feiniaomy.com',

'About' => array(

'Major' => 'PHP',

'Age' => '18',

'Address' => 'Shang Hai',

),

);

var_dump(json_encode($arr));

?>

打印结果:string(113) "{"Name":"mochu","PageHome":"http:\/\/www.feiniaomy.com","About":{"Major":"PHP","Age":"18","Address":"Shang Hai"}}"

由此可见,json_encode()可以对一维数组,以及二维数组进行转化,也就是说,此函数可以对PHP的多维数组进行json格式的转化

php json_encode 中文不转码

示例一:<?php

//飞鸟慕鱼博客

$arr = array(

'Name' => '墨初',

'PageHome' => '飞鸟墨鱼博客',

);

var_dump(json_encode($arr));

?>

打印结果:string(73) "{"Name":"\u58a8\u521d","PageHome":"\u98de\u9e1f\u58a8\u9c7c\u535a\u5ba2"}"

由上面的示例代码可以看出,json_encode()在转化含有中文的数组时,转化后的结果中,中文会以unicode编码的形式输出。

示例二,解决中文被编码的问题

//飞鸟慕鱼博客

$arr = array(

'Name' => '墨初',

'PageHome' => '飞鸟墨鱼博客',

);

var_dump(json_encode($arr,JSON_UNESCAPED_UNICODE));

?>

打印结果:string(49) "{"Name":"墨初","PageHome":"飞鸟墨鱼博客"}"

注意:以面的代码中,给json_encode()函数的第二个参数,设成 JSON_UNESCAPED_UNICODE ,可以完全解决中文被转码的问题。

附录:options 参数列表JSON_HEX_TAG

所有的 < 和 > 转换成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。

JSON_HEX_AMP

所有的 & 转换成 \u0026。 自 PHP 5.3.0 起生效。

JSON_HEX_APOS

所有的 ' 转换成 \u0027。 自 PHP 5.3.0 起生效。

JSON_HEX_QUOT

所有的 " 转换成 \u0022。 自 PHP 5.3.0 起生效。

JSON_FORCE_OBJECT

使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者需要一个类(Object)的时候尤其有用。 自 PHP 5.3.0 起生效。

JSON_NUMERIC_CHECK

将所有数字字符串编码成数字(numbers)。 自 PHP 5.3.3 起生效。

JSON_PRETTY_PRINT

用空白字符格式化返回的数据。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_SLASHES

不要编码 /。 自 PHP 5.4.0 起生效。

JSON_UNESCAPED_UNICODE

以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)。 自 PHP 5.4.0 起生效。

php json encode 参数,PHP json_encode函数的参数说明与用法相关推荐

  1. php中setcookie参数,php setcookie函数的参数说明及其用法

    php setcookie函数的参数说明及其用法 php setcookie函数的参数说明 用法: setcookie(name,value,expire,path,domain,secure) 参数 ...

  2. php json encode html,php – json_encode不能使用html字符串作为值

    我现在调试这个ajax已经有一段时间了.我在我的jQUery文件中有这个: $("#typeForm").ajaxForm({ success : function(html){ ...

  3. php自定义json字符串,php自定义json_encode()和json_decode()函数

    json数据大家应该遇到过,json_encode()和json_decode()是php5.0以后加上的内置函数,如果低版本要使用,需加扩展,很多时候我们无权改变服务器的配置,我们只能通过自定义函数 ...

  4. jasonencode php_PHP的json_encode()函数与JSON对象

    一.问题描述 这周搬砖的时候,前端通过ajax获取后端的数据后,照例用 对象.属性 的方式取值,然而结果总是总是不能如预期般展示在页面上. 先写个 demo 还原下场景:选中一个下拉框列表选项后,会在 ...

  5. php的json_encode实例,php json_encode()函数返回json数据实例代码

    json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 ...

  6. python open函数encoding_python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数...

    文件的读写操作默认使用系统编码,可以通过调用sys.getdefaultencoding() 来得到.在大多数机器上面都是utf-8 编码.如果你已经知道你要读写的文本是其他编码方式,那么可以通过传递 ...

  7. 微信 php 接口 函数,PHP的json_encode函数应用到微信接口有关问题(include \uxxxx will create fail)...

    PHP的json_encode函数应用到微信接口问题(include \uxxxx will create fail) 今天学习了一下微信企业号发送消息的接口,发现在发送含有中文字符的信息时,微信接口 ...

  8. PHP json_encode() 函数介绍

    在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. ...

  9. python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...

     函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ...

  10. php数组使用json_encode函数中文被编码成null的原因和解决办法

    大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...

最新文章

  1. 专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活
  2. MQTT协议通俗讲解
  3. 7、leetcode410 分割数组的最大值
  4. DWZ 在js中刷新某个navTab
  5. Windows 7/Vista 桌面上为何有两个隐含的 Desktop.INI
  6. github怎么自动更新被人更新过的项目_win10老是自动更新怎么办?如何完全禁止win10自动更新?...
  7. PostgreSQL 最佳实践 - 在线增量备份与任意时间点恢复
  8. JavaScript基础知识。
  9. [渝粤教育] 泉州师范学院 弦管传奇 古乐南音 参考 资料
  10. 汉诺塔函数python_Python使用函数模拟“汉诺塔”过程
  11. 进程隐藏、驱动加载的小工具...
  12. 机器学习FP、TP、FN、TN、sensitivity、specificity及代码实现
  13. 超级艺术家:DeepStyle for Mac
  14. iqc工作职责和工作内容_iqc组长岗位职责介绍
  15. Windows Style Builder一些路径分享-2022.8.21(不定期更新)
  16. 通过身份证号码得到性别和出生日期
  17. 编写程序数一下 1到 100 的所有整数中出现多少次数字9_C语言编写
  18. 嵌入式软件工程师就业方向有哪些呢?
  19. java 水印处理_java 图片水印处理
  20. Learning Disentangled Label Representations for Multi-label Classification

热门文章

  1. 【清北学堂】dwarf
  2. 【创业感悟】企业生存法则
  3. ping 不通 华为三层交换机vlan_华为三层交换机VLAN间路由怎么设置
  4. C语言————有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计卖完西瓜所需的天数
  5. 基于图神经网络的图像分类,遥感图像分析
  6. 海海软件发布动态网站加密(DRM版权保护)Beta版
  7. 网络流(4)——带有容量的顶点和二部匹配
  8. 极米H5多少流明?采用新亮度标准的极米H5怎么样?性价比高吗?
  9. 天然气阶梯是按年还是按月_燃气阶梯是一年一清吗 燃气阶梯的定义
  10. C程序设计语言思维导图