扫码关注官方订阅号
现在有一些json格式的数据,需要找到值为{data}的位置,例:
// 情况一 {"Result":{"code":"1","data":"{data}"}} // 情况二 {"code":'1',"list":"{data}"} // 情况三 .......
有什么好的办法解决的,请教一下。
人生最曼妙的风景,竟是内心的淡定与从容!
$s='{"Result":{"code":"1","data":"{data}"}}'; //$s='{"code":1,"list":"{data}"}'; $res = json_decode($s,1); //echo array_search('{data}',$res); function get($res,$key){ foreach($res as $k=>$v){ if(is_array($v)) { return get($v,$key); } else { if($v == $key) { return $k; } } } return null; } echo get($res,'{data}');//data
是后台返回的数据把,叫后台统一数据啊
粗暴的方法是解成数组然后递归查找
$str1 = '{"Result":{"code":"1","data":"{data}"}}'; $arr = json_decode($str1,true); echo findInArray($arr,'{data}'); // $arr["Result"]["data"] // 查找出现位置 function findInArray($arr,$value,&$path='$arr'){ foreach($arr as $key=>$val){ if(is_string($key))$key = '"'.$key.'"'; $newpath = $path.'['.$key.']'; if(is_array($val) && $a = findInArray($val,$value,$newpath)) { return $a; } if($val===$value) return $newpath; } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
是后台返回的数据把,叫后台统一数据啊
粗暴的方法是解成数组然后递归查找