私のプロジェクトには非公式のIMDb APIを使用しようとしています。私はこのコードを使用しました。入れ子配列のPHP foreachループ
<form name="search-imdb" autocomplete="off" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="q" title="Type Name, Title, Character etc and hit Enter" placeholder="Type Name, Title, Character etc and hit Enter" size="50" />
<input type="submit" name="submit" title="Click to Fetch Data from IMDb" value="Search IMDb" />
</form>
<?php
if (isset($_POST['submit'])){
$user_search = $_POST['q'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "imdb.wemakesites.net/api/search?q=".$user_search);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$array = json_decode($output, true);
print_r($array);
foreach ($array as $key => $data){
if(is_array($data)){
foreach($data as $subkey => $results){
if(is_array($results)){
foreach($results as $key => $titles){
echo $titles."<br />";
}
} else {
echo $results."<br />";
}
}
} else {
echo $data."<br />";
}
}
curl_close($ch);
} else {
}
?>
私は「タイトル」、配列の値を取得する必要があります。 (タイトル、ID、URL)これはJSONコードでした。
Array{
"status": "success",
"code": 200,
"message": "ok",
"term": "jQuery21409989625962002346_1459839763205&q",
"search_url":"http://www.imdb.com/find?q=batmansuperman&s=all5703b359add1b",
"data": {
"results": {
"titles": [
{
"title": "Batman",
"id": "tt0096895",
"url":"http://www.imdb.com/title/tt0096895/"
},
{
"title": "Batman",
"id": "tt0059968",
"url":"http://www.imdb.com/title/tt0059968/"
},
{
"title" :"Batman v Superman: Dawn of Justice",
"id": "tt2975590",
"url":"http://www.imdb.com/title/tt2975590/"
},
{
"title": "Batman Begins",
"id": "tt0372784",
"url":"http://www.imdb.com/title/tt0372784/
}
]
}
}
これはJSONデコード後の$ arrayです。
Array ([status] => success [code] => 200 [message] => ok [term] => megamind [search_url] => http://www.imdb.com/find?q=megamind&s=all5703f4f88841f [data] => Array ([results] => Array ([titles] => Array ([0] => Array ([title] => Megamind [id] => tt1001526 [url] => http://www.imdb.com/title/tt1001526/?ref_=fn_al_tt_1) [1] => Array ([title] => Megamind [id] => tt1785464 [url] => http://www.imdb.com/title/tt1785464/?ref_=fn_al_tt_2) [2] => Array ([title] => MegaMind [id] => tt1890468 [url] => http://www.imdb.com/title/tt1890468/?ref_=fn_al_tt_3) [3] => Array ([title] => Mega Mindy [id] => tt0891395 [url] => http://www.imdb.com/title/tt0891395/?ref_=fn_al_tt_4) [4] => Array ([title] => Megamind [id] => tt3022564 [url] => http://www.imdb.com/title/tt3022564/?ref_=fn_al_tt_5) [5] => Array ([title] => Megamind: The Button of Doom [id] => tt1847645 [url] => http://www.imdb.com/title/tt1847645/?ref_=fn_al_tt_6) [6] => Array ([title] => Megamind [id] => tt3624292 [url] => http://www.imdb.com/title/tt3624292/?ref_=fn_al_tt_7) [7] => Array ([title] => Megamind [id] => tt2173285 [url] => http://www.imdb.com/title/tt2173285/?ref_=fn_al_tt_8) [8] => Array ([title] => Mega Mindy Versus ROX [id] => tt4706602 [url] => http://www.imdb.com/title/tt4706602/?ref_=fn_al_tt_9) [9] => Array ([title] => Aa Megamisama [id] => tt0872301 [url] => http://www.imdb.com/title/tt0872301/?ref_=fn_al_tt_10)) [characters] => Array ([0] => Array ([title] => Megamind [id] => ch0194198 [url] => http://www.imdb.com/character/ch0194198/?ref_=fn_al_ch_1) [1] => Array ([title] => Megamind's Mother [id] => ch0229958 [url] => http://www.imdb.com/character/ch0229958/?ref_=fn_al_ch_2) [2] => Array ([title] => Megamind's Father [id] => ch0229956 [url] => http://www.imdb.com/character/ch0229956/?ref_=fn_al_ch_3)) [names] => Array ([0] => Array ([title] => Megamind [id] => nm6292338 [url] => http://www.imdb.com/name/nm6292338/?ref_=fn_al_nm_1)) [keywords] => Array ([0] => Array ([title] => megami [id] => megami [url] => http://www.imdb.com/keyword/megami/?ref_=fn_al_kw_1)) [companies] => Array ([0] => Array ([title] => Megami [id] => co0544394 [url] => http://www.imdb.com/company/co0544394/?ref_=fn_al_co_1) [1] => Array ([title] => Mega Mind Media [id] => co0558438 [url] => http://www.imdb.com/company/co0558438/?ref_=fn_al_co_2) [2] => Array ([title] => Elm Tree Gaming [id] => co0202064 [url] => http://www.imdb.com/company/co0202064/?ref_=fn_al_co_3)))))
誰でも私がここで間違っていることを教えてもらえますか?私はこのエラーを受けています - "文字列変換への配列"
私はこれを数時間解決しようとしましたが、私はインターネット上で答えを探してきました。いくつかの助けは非常に高く評価されます。ありがとう。
何を正確にあなたがここに印刷したいですか?それもどの形式ですか?最初に指定してください。 –
この種のデータには、画像の代わりにテキストを使用して、人々が簡単に閲覧して作業できるようにする必要があります。 [あなたのデータはJSONのようですが、 'json_decode($ data、true); 'を使って配列に入れます。](http://php.net/manual/en/function.json-decode.php) – Prix
まず第一に... arrayという名前の配列はDogという名前の犬のようなものです。あなたの配列に意味のある名前を見つけてください。 –