为了账号安全,请及时绑定邮箱和手机立即绑定

使用通用键搜索多维 JSON 数组的值 - php

使用通用键搜索多维 JSON 数组的值 - php

PHP
慕哥6287543 2022-12-23 16:29:39
我正在尝试搜索从 SOAP XML 响应转换为特定值的复杂 JSON 数组。钥匙真的很通用。 ["configurableFields"]=>  array(1) {    ["configurableField"]=>    array(6) {      [0]=>      array(3) {        ["label"]=>        string(15) "Job Information"        ["value"]=>        string(15) "Job Information"        ["criteria"]=>        array(1) {          ["criterion"]=>          array(3) {            [0]=>            array(2) {              ["label"]=>              string(19) "SAP Position Number"              ["value"]=>              string(3) "TBC"            }            [1]=>            array(2) {              ["label"]=>              string(20) "Assignment JD Number"              ["value"]=>              string(6) "AG111111"            }            [2]=>            array(2) {              ["label"]=>              string(20) "Generic JD Reference"              ["value"]=>              string(5) "C11111"            }          }        }      }      [1]=>      array(3) {        ["label"]=>        string(16) "Hours and salary"        ["value"]=>        string(5) "Hours"        ["criteria"]=>        array(1) {          ["criterion"]=>          array(3) {            [0]=>            array(2) {              ["label"]=>              string(14) "hours per week"              ["value"]=>              string(2) "37"            }            [1]=>            array(2) {              ["label"]=>              string(14) "weeks per year"              ["value"]=>              string(2) "52"            }            [2]=>            array(2) {              ["label"]=>              string(6) "Salary"              ["value"]=>              string(11) "£29,636 pa"            }          }        }      }    }  }在上面的示例中,我如何在数组中搜索标签“Salary”,然后获取“£29, 636 pa”的值字符串。对不起,如果我遗漏了一些简单的东西。我没有任何起始代码,因为我只是通过在 foreach 循环中定位它来打印值。编辑:忘记添加如果缺少某些数据,数组中值的位置可能会发生变化。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超6个赞

您可以通过 索引该数组,label以便在接下来的步骤中将其用于其他值:

$array = array_column($array["configurableFields"]["configurableField"], null, "label");

然后你就会有Job Information钥匙Hours and salarycriterion然后你可以通过以下索引label

$HoursSalary = array_column($array["Hours and salary"]["criteria"]["criterion"], null, "label");

最后访问密钥value的:Salary

echo $HoursSalary["Salary"]["value"];


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号