2017-01-13 79 views
0

特定键值我有以下的阵列,因为我转换我接到了一个SOAP调用数组后面的字符串:检索多维数组

Array 
(
    [soapenvBody] => Array 
     (
      [queryRequestsResponse] => Array 
       (
        [result] => Array 
         (
          [0] => Array 
           (
            [BCRcustomId] => REQ16569 
            [BCRexternalId] => Array 
             (
             ) 

            [BCRrecordId] => a035700001CM60kAAD 
            [BCRrequestId] => a1J5700000857EYEAY 
           ) 

          [1] => Array 
           (
            [BCRcustomId] => SRQ100784 
            [BCRexternalId] => Array 
             (
             ) 

            [BCRrecordId] => a033E000001PxfAQAS 
            [BCRrequestId] => a1J3E0000000GSaUAM 
           ) 

         ) 

       ) 

     ) 

) 

我试图找回BCRrecordId,因为我需要该项目进行另一个SOAP调用。我试过以下内容

function getID($array) { 
    return $array['BCRcustomId']; 
} 

// 

$arr = array_map('getID', $array); 
print_r($arr); 

现在我收到了一个错误,说它没有找到它。

未定义指数:BCRcustomId在 的index.php上线97
[soapenvBody] =>)阵列(

我的假设是,它doenst去低于1级阵列中查阅。我不是这些类型的阵列familair,我将如何解决这个问题?通过多个为每个循环?或者有另一种方式来检索这些项目

回答

3

如果$array是整个响应,您只需要通过result部分它:

$arr = array_map('getID', $array['soapenvBody']['queryRequestsResponse']['result']); 
+0

太棒了,正是我所需要的。我不知道我可以在阵列图中更深入地理清。谢谢!我可以在3分钟内接受这个问题 – Dorvalla