PHP从JSON数据中获取字段值(支持多维度)
<?
/*
* 从json数据中获取字段值(支持多维度,如:'name.turename')
* @param string $name 字段名称
* @param string $str Json格式的字符串
* @return string or int
*/
function getFieldByJson($name, $data, $key = 0) {
if (empty($name) || empty($data))
return;
$keys = explode('.', $name);
if (!is_array($data)) {
$data = json_decode($data, true);
}
if (isset($keys[$key + 1]) && isset($data[$keys[$key]][$keys[$key + 1]])) {
return getFieldByJson($keys[$key + 1], $data[$keys[$key]]);
} else {
return $data[$keys[$key]];
}
}