多维数组中的foreach循环

时间:2019-12-26 11:23:43

标签: php arrays

尝试获取多维数组中的某个参数...我有以下api请求:

$responeAPI= ClientCode::request('post', 'responeAPI', $responeAPI,['debug'=>true]); 

     foreach ($responeAPI["buDetail"] as $key => $value){
               $businessUserDet =  $value["name"];
     }

     $storage['enterpriseList'] = $businessUserDet;
    }

API响应中的数组如下:

{
  "buList": {
    "buDetail": [
      {
        "businessUserId": 2,
        "name": "SAMPLENAME_231",
        "parentBusinessUserId": 1,
        "profileId": 2,
        "profileName": "Enterprise"
      }
    ]
  },
  "resultCode": 0,
  "transactionId": "responeAPIs_1577358460"
}

我需要提取“名称”,以便可以将其用于$ options参数。目前,我的代码未显示任何内容。

3 个答案:

答案 0 :(得分:0)

您可以使用 array_column

$jsonArray = '{"buList":{"buDetail":[{"businessUserId":2,"name":"SAMPLENAME_231","parentBusinessUserId":1,"profileId":2,"profileName":"Enterprise"},{"businessUserId":2,"name":"SAMPLENAME_231","parentBusinessUserId":1,"profileId":2,"profileName":"Enterprise"}]},"resultCode":0,"transactionId":"responeAPIs_1577358460"}';

   $detais = json_decode($jsonArray, true);

   print_r(array_column($detais['buList']['buDetail'], 'name', 'id'));

http://sandbox.onlinephpfunctions.com/code/458592622c78c67771cbf2e54661b9294c91e710

答案 1 :(得分:0)

您可以更改此行

foreach ($responeAPI["buDetail"] as $key => $value){

foreach ($responeAPI["buList"]["buDetail"] as $key => $value){

答案 2 :(得分:0)

您可以将其作为对象调用:

$array = '{ "buList": { "buDetail": [{ "businessUserId": 2, "name": "SAMPLENAME_231", "parentBusinessUserId": 1, "profileId": 2, "profileName": "Enterprise" } ] }, "resultCode": 0, "transactionId": "responeAPIs_1577358460" }';
$array = json_decode($array);
//for debug purposes only
echo var_export($array, true);
echo $array->buList->buDetail[0]->name;

输出:SAMPLENAME_231