-1

我想不出一种方法来编写一个 PHP 脚本来打印这个多维数组的名字、姓氏、电子邮件和帐户 ID。这是从 cURL 脚本返回的 json 数据。你能帮我我的朋友吗?

Array
(
    [operationResult] => SUCCESS
    [responseDateTime] => 2013-03-15T15:52:25.180-05:00
    [page] => Array
        (
            [currentPage] => 1
            [pageSize] => 10
            [totalPage] => 1
            [totalResults] => 1
        )
    [searchResults] => Array
        (
            [nameValuePairs] => Array
                (
                    [nameValuePair] => Array
                        (
                            [0] => Array
                                (
                                    [name] => Account Id
                                    [value] => 7601
                                )

                            [1] => Array
                                (
                                    [name] => User Email 1
                                    [value] => jim@email.com
                                )

                            [2] => Array
                                (
                                    [name] => First Name
                                    [value] => Jim
                                )

                            [3] => Array
                                (
                                    [name] => Last Name
                                    [value] => Burns
                                )
                        )
                )
        )
)

编辑:很抱歉不包括我的尝试。我尝试了以下方法:

foreach ($client_emails_array as $operation) 
{ 
    echo $operation['page']['searchResults']['nameValuePairs']['nameValuePair']['name']."<br>";
    echo $operation['page']['searchResults']['nameValuePairs']['nameValuePair']['value']."<br>";
}

这给了我一点成功

4

3 回答 3

1

数据结构实际上对于您的用例来说有点差,但您应该能够像这样得到它:

$data_array = $main_array['searchResults']['nameValuePairs']['nameValuePair']
$final_array = array();
foreach($data_array as $nvp) {
    $final_array[$nvp['name']] = $nvp['value'];
}
var_dump ($final_array);
于 2013-03-15T22:07:01.417 回答
1

从严格意义上讲,只需打印值就可以这样完成:

foreach ($operation['searchResults']['nameValuePairs']['nameValuePair'] as $key => $data) {
    echo $data['value'];
}

如果您想做更多事情,您可以在foreach块中添加更多逻辑,以检索已打印的值等等。

于 2013-03-15T22:09:02.903 回答
1

根据您的编辑 -['searchResults']不在['page']数组内。尝试删除['page'].

foreach ($client_emails_array as $operation) 
{ 
   echo $operation['searchResults']['nameValuePairs']['nameValuePair']['name']."<br>";
   echo $operation['searchResults']['nameValuePairs']['nameValuePair']['value']."<br>";
}
于 2013-03-15T22:13:15.913 回答