当前位置:   article > 正文

php json格式的字符串,【PHP函数】json_decode() ---- 对 JSON 格式的字符串进行解码

php json格式的字符串,【PHP函数】json_decode() ---- 对 JSON 格式的字符串进行解码

json_decode() --- 对 JSON 格式的字符串进行解码

1、用法:

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

参数说明:

$json: json格式的字符串

$assoc:

值为true: 表示返回数组形式的数据

值为false:表示返回对象形式的数据

默认为false

$depth:指定递归深度。

$options: JSON解码的掩码选项。 现在有两个支持的选项。

第一个是JSON_BIGINT_AS_STRING, 用于将大整数转为字符串而非默认的float类型。

第二个是JSON_OBJECT_AS_ARRAY, 与将assoc设置为 TRUE 有相同的效果。

2、范例:

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'

json_decode($json);

object(stdClass)#1 (5) {

["a"] => int(1)

["b"] => int(2)

["c"] => int(3)

["d"] => int(4)

["e"] => int(5)

}

json_decode($json, true);

array(5) {

["a"] => int(1)

["b"] => int(2)

["c"] => int(3)

["d"] => int(4)

["e"] => int(5)

}

3、应用场景:

有返回的数据$modeofpayment,需要对其进行循环输出每条数据。如何实现?

其中:$modeofpayment = [{"id":1,"name":"货到付款"},{"id":2,"name":"支付宝付款"},{"id":3,"name":"微信付款"}];

(1)var_dump()打印结果为string '[{"id":1,"name":"货到付款"},{"id":2,"name":"支付宝付款"},{"id":3,"name":"微信付款"}]'

其数据类型为string

(2)将数据转化为数组形式:json_decode($json, true)。得到结果为:

array (size=3)

0 =>

array (size=2)

'id' => int 1

'name' => string '货到付款' (length=12)

1 =>

array (size=2)

'id' => int 2

'name' => string '支付宝付款' (length=15)

2 =>

array (size=2)

'id' => int 3

'name' => string '微信付款' (length=12)

(3)使用模板引擎循环输出

{foreach name="$offer.modeofpayment" item="vo"}

{$vo.name}

{/foreach}

或者

{volist name="$offer.modeofpayment" id="vo"}

{$vo.name}

{/volist}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/531746
推荐阅读
相关标签
  

闽ICP备14008679号