从多维数组中检索特定键值

时间:2017-01-13 11:40:57

标签: php arrays multidimensional-array

我有以下数组,因为我将从SOAP调用返回的字符串转换为数组:

FileReader fileReader = new FileReader(fileName);

        Scanner sc = new Scanner(fileReader);
        int row=0, col=0;
        while ((sc.hasNext()) != null) {
            if(col < colSize){   //colSize is size of column
                mazeNew[row][col]= sc.nextInt();
            }
            else{
                col=0;
                row++;
            }
        }

我正在尝试检索BCRrecordId,因为我需要该项来进行另一次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
                                )

                        )

                )

        )

)

现在我得到一个错误,因为它没有找到它。

  

未定义的索引:BCRcustomId in    第97行的index.php    
[soapenvBody] =&gt; )数组(

我的假设是它确实在数组中低于1级。现在我对这些阵列并不熟悉,我该如何解决这个问题呢?每个循环多个?或者有另一种方法来检索这些项目

1 个答案:

答案 0 :(得分:3)

如果$array是整个回复,则只需要传递result部分内容:

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