iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中json_encode函数参数是什么
  • 713
分享到

PHP中json_encode函数参数是什么

2023-06-15 06:06:59 713人浏览 薄情痞子
摘要

小编给大家分享一下PHP中JSON_encode函数参数是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近遇到了一些关于php函数相关的问题,在和前辈交流的

小编给大家分享一下PHPJSON_encode函数参数是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

最近遇到了一些关于php函数相关的问题,在和前辈交流的时候被问及自己所能写出的关于字符串处理和数组相关的函数问题,然后考虑了一下,觉着这些PHP最基础的部分可能在面试中小型公司的时候会被经常问到,在之前的求职面试里面自己更多的注重了数据结构算法或者数据库相关的这些知识点,对于PHP的基础相关的知识点在工作中也是常常不能熟悉的运用,一般的状态更多是知道有这个函数在,然后百度或者查下手册,在解决了自己的问题之后便降至抛之脑后,虽然能够回答出来一部分函数,但是前辈在深入的问及关于函数有几个参数的时候却又是一脸懵逼。

在之前个人认为自己在PHP这个语言以及PHP后端开发上面应该是稍微比较驾轻就熟的一个状态,一般的问题应该对自己来说都问题不大了,却被区区函数问题搞得心态爆炸,仔细思考了之后觉得如果我连这些基础的知识点都不能够很熟练的话,那我还有什么话可以说我PHP很熟练。现在准备在空闲时间都能够思考一下自己所用过的函数或者其他知识点,也希望能够让自己的思考成为惯性。

今天主要看了一下json_encode函数的参数以及使用,以下主要是对json_encode第2/3个参数的一些自己认为的解析。

首先看一下php.net中关于json_encode的说明:

Description

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

Returns a string containing the JSON representation of the supplied value // 返回json格式的字符串

The encoding is affected by the supplied options and additionally the encoding of float values depends on the value of serialize_precision. // 所返回json格式的字符串取决于第二个参数

一:   json_encode常常被用于将数组转换成json格式的字符串来表示,但是json_encode的第一个参数却并不一定是数组格式,第一个参数可以为对象,数组,字符串。

 $array = [      'a' => 'he',      'b' => 'llo',      'c' => 'world',      'd' => [            1 => 'a',            2 => 'b',            3 => 'c'      ]];// 参数为普通数组    string(62) "{"a":"he","b":"llo","c":"world","d":{"1":"a","2":"b","3":"c"}}"var_dump(json_encode($array)); // 将数组先转为json格式字符串,再使用json_decode转为对象,之后详细研究json_decode的参数,使用等$obj = json_decode(json_encode($array));  // 参数为对象    string(62) "{"a":"he","b":"llo","c":"world","d":{"1":"a","2":"b","3":"c"}}"var_dump(json_encode($obj)); // 参数为字符串// string(90) ""{\"a\":\"he\",\"b\":\"llo\",\"c\":\"world\",\"d\":{\"1\":\"a\",\"2\":\"b\",\"3\":\"c\"}}""var_dump(json_encode(json_encode($obj))); var_dump(json_encode('h"e\l/l[o'));  // string(14) ""h\"e\\l\/l[o""var_dump('h"e\l/l[o'); //string(9) "h"e\l/l[o"

可以发现object和array类型转换为json字符串之后没有差别,而string被json_encode之后,string中的【'】,【"】,【\】,【/】会被转义。

二:接下来看一下第二个参数:
        options参考选自原文:https://blog.csdn.net/qd824692746/article/details/50912723

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

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

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

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

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

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

       JSON_BIGINT_AS_STRING (integer)    将大数字编码成原始字符原来的值。 自 PHP 5.4.0 起生效。

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

       JSON_UNESCAPED_SLASHES (integer)    不要编码 /。 自 PHP 5.4.0 起生效。

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

大家可以参考以上罗列出来的常量测试一下。也可以选取自己业务逻辑上的来达到自己的目的。

三:接下来说一下第三个参数,在本人购买的PHP中文手册中发现json_encode函数中只有以上两个参数,并没有第三个参数depth,在查阅PHP官方文档中是有这个参数的,但是文档中并没有详细的解释以及示例。猜测大概率是PHP版本的问题,也许购买的中文手册是基于旧版本的,官方文档是最新版。在测试中发现第三个参数的不同导致的输出是有区别的。

// 数组深度为2  $array = [          'a' => '"\/hello',          'b' => '\world',          'c' => '/php_json_decode',          'd' => [                  1 => '"\/php',                  2 => '//\js',                  3 => 'python',                  4 => 'golang'          ]      ]; var_dump(json_encode($array,0,1));  // bool(false)  var_dump(json_encode($array,0,2));// string(120) "{"a":"\"\\\/hello","b":"\\world","c":"\/php_json_decode","d":{"1":"\"\\\/php","2":"\/\/\\js","3":"Python","4":"Golang"}}" var_dump(json_encode($array,0,3));// string(120) "{"a":"\"\\\/hello","b":"\\world","c":"\/php_json_decode","d":{"1":"\"\\\/php","2":"\/\/\\js","3":"python","4":"golang"}}" var_dump(json_encode($array,0,4));// string(120) "{"a":"\"\\\/hello","b":"\\world","c":"\/php_json_decode","d":{"1":"\"\\\/php","2":"\/\/\\js","3":"python","4":"golang"}}"    // 数组深度为3  $array = [          'a' => '"\/hello',        'b' => '\world',        'c' => '/php_json_decode',          'd' => [                  1 => '"\/php',                  2 => '//\js',                  3 => 'python',                  4 => 'golang'          ],          'e' => [                  'xxx' => [                        'hello' => 'world'                  ]          ]      ];     var_dump(json_encode($array,0,1));    // bool(false)     var_dump(json_encode($array,0,2));    // bool(false)     var_dump(json_encode($array,0,3));    // string(150) "{"a":"\"\\\/hello","b":"\\world","c":"\/php_json_decode","d":{"1":"\"\\\/php","2":"\/\/\\js","3":"python","4":"golang"},"e":{"xxx":{"hello":"world"}}}"     var_dump(json_encode($array,0,4));    // string(150) "{"a":"\"\\\/hello","b":"\\world","c":"\/php_json_decode","d":{"1":"\"\\\/php","2":"\/\/\\js","3":"python","4":"golang"},"e":{"xxx":{"hello":"world"}}}"

以上是“PHP中json_encode函数参数是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: PHP中json_encode函数参数是什么

本文链接: https://www.lsjlt.com/news/278522.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP中json_encode函数参数是什么
    小编给大家分享一下PHP中json_encode函数参数是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近遇到了一些关于PHP函数相关的问题,在和前辈交流的...
    99+
    2023-06-15
  • python中的函数参数是什么
    这篇文章主要讲解了“python中的函数参数是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中的函数参数是什么”吧!说明函数参数,增加函数的通用性,针对相同的数据处理逻辑,可...
    99+
    2023-06-20
  • PHP中json_encode的作用是什么
    json_encode函数用于将 PHP 数组或对象转换为 JSON 字符串。它可以将 PHP 数据结构转换为 JSON 格式,以便...
    99+
    2023-08-26
    PHP
  • PHP中怎么使用 json_encode函数进行中文转换
    本篇文章为大家展示了PHP中怎么使用 json_encode函数进行中文转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。json_encode 和 json_decode< PHP...
    99+
    2023-06-17
  • 什么是python无参数函数
    python无参数函数就是指参数列表为空的函数,一般情况下函数在调用时不需要向函数内部传递参数时,就可以使用无参函数。python无参函数的用法:def num():print('Hello Python') #函数中保存的代码不会立即执行...
    99+
    2024-04-02
  • PHP 函数参数类型的默认值是什么?
    php 函数中的参数可以具有默认值,可在函数声明中指定,在省略时使用。语法:function function_name(type $parameter1 = default_value...
    99+
    2024-04-10
    php 参数默认值
  • PHP json_encode()的用法是什么
    json_encode() 函数是一个用于将 PHP 数据结构转换为 JSON 格式的函数。 使用方法如下: json_encode...
    99+
    2023-10-21
    PHP
  • PHP 函数参数类型的未来趋势是什么?
    php 函数参数类型检查的未来趋势包括:1. 类型提示用于声明参数类型,增强代码的可读性。2. 联合类型指定多个类型,增强灵活性。3. 混合类型接收任何类型的值,提高通用性。4. 变长参...
    99+
    2024-04-10
    php 类型提示 php7
  • PHP中JSON函数是什么
    这篇文章主要介绍了PHP中JSON函数是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何使用 PHP 语言来编码和解码 JSON 对象?环境配置 在 php5.2.0 ...
    99+
    2023-06-15
  • PHP 函数参数类型转换的机制是什么?
    php 中的函数参数类型转换机制将传入参数的类型转换为与函数定义一致,包括:整型参数:字符串转换为整型浮点参数:字符串转换为浮点布尔参数:特定值转换为布尔值数组参数:任何类型转换为数组对...
    99+
    2024-04-11
    php 类型转换
  • PHP 函数文档编写规范中对函数参数的描述要求是什么?
    php 文档规范要求函数参数描述包含:1. 名称和类型(基本或类);2. 说明(用途、预期值);3. 默认值(若有);4. 引用传递(如有);5. 验证方式;6. 示例代码;7. 实战案...
    99+
    2024-04-26
    php 函数参数描述规范
  • php参数指的是什么
    这篇文章主要介绍“php参数指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php参数指的是什么”文章能帮助大家解决问题。在php中,参数是函数内部和函数外部进行数据交换的端口,函数中数据的...
    99+
    2023-07-02
  • vlookup函数的参数是什么意思
    这篇文章主要介绍了vlookup函数的参数是什么意思的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vlookup函数的参数是什么意思文章都会有所收获,下面我们一起来看看吧。vlookup函数有几个参数每个参数的...
    99+
    2023-07-01
  • Python函数中的参数匹配模型是什么
    今天就跟大家聊聊有关Python函数中的参数匹配模型是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python函数参数匹配模型任意参数 *当我们的函数接收参数为任意个,或者不能...
    99+
    2023-06-02
  • Python函数中的几种参数分别是什么
    这期内容当中小编将会给大家带来有关Python函数中的几种参数分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.必需的参数:必须参数须以正确的顺序传入函数,调用的数量必须和声明时的一样def&n...
    99+
    2023-06-21
  • PHP中变量函数是什么
    PHP中变量函数是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是变量函数:当一个变量函数的值是某一个函数的名称字符串时,我们可以使用变量名()的方式调...
    99+
    2023-06-15
  • PHP中递归函数是什么
    这期内容当中小编将会给大家带来有关PHP中递归函数是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是递归函数:递归就是某个函数直接或间接地调用了自身,这种调用方式叫做递归调用。说白了,还是函数调用...
    99+
    2023-06-15
  • php中后缀两个参数是什么
    php 后缀的两个参数为:变量或数组名称和修饰符。修饰符决定如何将变量值附加到字符串:单引号以字面值附加,双引号进行解析,大括号进行字符串插值,点号附加为对象属性。 PHP 中后缀两个...
    99+
    2024-04-27
  • php中什么是回调函数
    小编给大家分享一下php中什么是回调函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是回调函数:回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一...
    99+
    2023-06-15
  • ajax函数有什么参数
    这篇文章将为大家详细讲解有关ajax函数有什么参数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 ajax函数的参数有:options、asy...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作