-1

この多次元配列の名、姓、電子メール、およびアカウント ID を出力する PHP スクリプトを作成する方法がわかりません。これは、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 に答える