php数组搜索可以,复杂PHP数组中的搜索值

$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

.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值