0

次の配列があります

Array
(
[responseData] => Array
      (
         [results] => Array
            (
                [0] => Array
                    (
                        [GsearchResultClass] => GwebSearch
                        [unescapedUrl] => http://en.wikipedia.org/wiki/JH_(hash_function)
                        [url] => http://en.wikipedia.org/wiki/JH_(hash_function)
                        [visibleUrl] => en.wikipedia.org
                        [cacheUrl] => http://www.google.com/search?q=cache:jxOefvJSQXUJ:en.wikipedia.org
                        [title] => JH (hash function) - Wikipedia, the free encyclopedia
                        [titleNoFormatting] => JH (hash function) - Wikipedia, the free encyclopedia
                        [content] => JH is a cryptographic hash function submitted to the NIST hash function   competition by Hongjun Wu. Though chosen as one of the five finalists of the   competition ...
                    )

                [1] => Array
                    (
                        [GsearchResultClass] => GwebSearch
                        [unescapedUrl] => http://www.jhaudio.com/
                        [url] => http://www.jhaudio.com/
                        [visibleUrl] => www.jhaudio.com
                        [cacheUrl] => http://www.google.com/search?q=cache:rO6NylpvTx8J:www.jhaudio.com
                        [title] => JH Audio: Custom In-Ear Monitors | In Ear Monitor
                        [titleNoFormatting] => JH Audio: Custom In-Ear Monitors | In Ear Monitor
                        [content] => Custom In-Ear Monitors by JHAudio - manufacturers of premium custom in ear   monitors. JH Audio's products are a direct result of 25 years of live audio mixing ...
                    )

                [2] => Array
                    (
                        [GsearchResultClass] => GwebSearch
                        [unescapedUrl] => http://www.jhaudio.com/collection/jha-pro-music-products
                        [url] => http://www.jhaudio.com/collection/jha-pro-music-products
                        [visibleUrl] => www.jhaudio.com
                        [cacheUrl] => http://www.google.com/search?q=cache:YY9q-E00yKkJ:www.jhaudio.com
                        [title] => JHA Pro Music Products | Custom In-Ear Monitors by JH Audio
                        [titleNoFormatting] => JHA Pro Music Products | Custom In-Ear Monitors by JH Audio
                        [content] => JHA Pro Music Products by JHAudio - manufacturers of premium custom in ear   monitors. JH Audio's products are a direct result of 25 years of live audio mixing ...
                    )

                [3] => Array
                    (
                        [GsearchResultClass] => GwebSearch
                        [unescapedUrl] => http://www.youtube.com/watch?v=JsQN3yZjRCI
                        [url] => http://www.youtube.com/watch%3Fv%3DJsQN3yZjRCI
                        [visibleUrl] => www.youtube.com
                        [cacheUrl] => http://www.google.com/search?q=cache:Dk4oETmQLNEJ:www.youtube.com
                        [title] => monta equina zagalo de j.h x gitana de la fortuna - YouTube
                        [titleNoFormatting] => monta equina zagalo de j.h x gitana de la fortuna - YouTube
                        [content] => Mar 5, 2010 ... caballos de exposicion en la modalidad de trote y galope, fecha de monta 1 de   febrero de 2010....
                    )

            )

URL、タイトル、コンテンツが表示されるように、foreachループを使用してphpで解析しようとしています。ただし、コードを適切に解析できないようです。以下のコードでは、「responsedata」が認識されないというエラーが表示されます。

foreach($json as value)

echo $value [responsedata];

echo $value のままにしておくと、responsestatus の値である 200 という数字が表示されます。やってみると

foreach( $json =>url => title => content as $value)

「=」記号を認識しません。

何か案は??あなたが投稿からそれを得ていないなら、私はJSONやphpにあまり精通していません:)

ティア

4

2 に答える 2

1

FTR、投稿したのは「json配列」ではなくネイティブ配列です。これを試してください:

$rawArray = get_results_somehow();

// Flatten the array to make it easier to work with
$results = $rawArray['responseData']['results'];

foreach ($results as $result) {

    // Should now see the expected values
    var_dump($result);
}
于 2013-07-09T17:41:02.890 に答える
1

そのデータはすでに配列形式になっています。このように $array['responseData']['results'] を繰り返す必要があります。

$arr = $array['responseData']['results'];

foreach($arr as $k){
   echo $k['url'];
   echo $k['title'];
   echo $k['content'];
}
于 2013-07-09T17:46:59.267 に答える