[英]PHP array foreach item
我在獲取多級數組中的值時遇到問題。
這是我用 CURL 抓取並放入變量的 JSON。
{
"id": 454626,
"results": [
{
"iso_3166_1": "SK",
"release_dates": [
{
"certification": "U",
"iso_639_1": "sk",
"note": "",
"release_date": "2020-02-20T00:00:00.000Z",
"type": 3
}
]
},
{
"iso_3166_1": "DE",
"release_dates": [
{
"certification": "6",
"iso_639_1": "",
"note": "",
"release_date": "2020-02-13T00:00:00.000Z",
"type": 3
}
]
},
{
"iso_3166_1": "TW",
"release_dates": [
{
"certification": "G",
"iso_639_1": "",
"note": "",
"release_date": "2020-02-21T00:00:00.000Z",
"type": 3
}
]
}
]
}
這是我遇到問題的 PHP 代碼。
$id_tmdb = $row[id_tmdb];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.themoviedb.org/3/movie/$id_tmdb/release_dates?api_key=API-KEY",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET"
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$result = json_decode($response, true);
foreach($result[results][release_dates] as $key=>$val){
echo "$val[release_date]";
}
我正在嘗試獲取release_date
但它只是顯示為空白。
我有另一個頁面的格式相同,所以我不確定為什么它不起作用......謝謝你的幫助。
你的$result['results']
值也是一個數組,你需要迭代它以及release_dates
數組:
foreach($result['results'] as $results) {
foreach ($results['release_dates'] as $val){
echo "$val[release_date]\n";
}
}
輸出(對於提供的示例 JSON):
2020-02-20T00:00:00.000Z
2020-02-13T00:00:00.000Z
2020-02-21T00:00:00.000Z
這應該讓你到達那里:
foreach($result['results'] as $res){
echo $res['release_dates'][0]['release_date']."\n";
}
在旁注中,我將數組鍵放在引號中以防止 php 警告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.