$json_string = '{"company":{"id":"123456","name":"Test Company LLC.","FEIN":"22-2222222","address":{"address_line_1":{"street":"1 Street St, Suite 12","city":"San Francisco","postalCode":"123456"},"address_line_2":{"state":"CA","country":"USA"}},"phone":"1-800-XXX-XXXX","fax":"1-800-XXX-XXXX","email":"admin@abc.com","URL":"www.abc.com"},"producer":{"id":"LLXXXX","name":"Test Name","phone":"555-555-5555","mobile":"555-555-5555","fax":"555-555-5555","email":"test@abc.com","producerSubCode":"111","NIPRId":"123456","stateProducerId":"12344"}}';
$json_array = json_decode($json_string,true);
function getData($json_array,$search_value){
foreach($json_array as $each_key => $each_value){
if($each_key === $search_value) return true;
if(is_array($each_value)){
$return_value = getData($each_value,$search_value);
if($return_value !== false) return $return_value === true ? $return_value : $each_key."=>".$return_value;
}else if($each_value === $search_value){
return $each_key;
}
}
return false;
}
echo "
";
var_dump(getData($json_array,'San Francisco'));
var_dump(getData($json_array,'producerSubCode'));
var_dump(getData($json_array,'abc123'));
产量
string(38) "company=>address=>address_line_1=>city"
bool(true)
bool(false)
假设
数组中的每个键和值都是唯一的。
函数定义
功能
getData()
在数组中搜索给定的字符串。
如果字符串恰好是
key
,它返回一个布尔值
true
如果字符串恰好是
value
在数组中,它返回
钥匙
.
如果字符串不是两者都不是
钥匙
也不
价值
,返回布尔值
false
.