二维json数组的回显部分

Posted

技术标签:

【中文标题】二维json数组的回显部分【英文标题】:Echo part of two dimentional json array 【发布时间】:2019-10-06 19:50:37 【问题描述】:

我有一个嵌套的 json 数组

$sdata['my_server']['server_ips'];

谁的结果是这样的

 "ip_address": [  "access": "private", "address": "x.x.x.x", "family": "IPv4" ,  "access": "public", "address": "xxxx:xxxx:xxxx:xxx:xxxx:xxxx:xxxx:xxxx", "family": "IPv6" ,  "access": "public", "address": "xxx.xxx.xxx.xxx", "family": "IPv4", "part_of_plan": "yes"  ] 

我只想在访问公共部分显示ipv4 ip地址的值是指这个

"address": "xxx.xxx.xxx.xxx"

有什么想法吗?谢谢

【问题讨论】:

您的具体问题是什么,您尝试过什么? 【参考方案1】:

您可以将array_filterjson_decode 一起使用

 $r = array_filter(json_decode($json, true)['ip_address'], function($v)
  return ($v['family'] === 'IPv4' && $v['access'] === 'public');
 );

工作示例:- https://3v4l.org/k0M0V

print_r($r) 会给你一个数组,你可以使用array_shift 而不是使用$r['address']。如果有多个值,则使用 array_column by address 并使用 implode

【讨论】:

以上是关于二维json数组的回显部分的主要内容,如果未能解决你的问题,请参考以下文章

使用单个查询从相关数据库表中回显嵌套的 JSON 数组?

php二维数组修改键名

二维数组和json对象的转换

二维数组转化为json数组

将 JSON 二维数组转换为 AS3 数组

js json解析并重组成二维数组