我不明白的主題是“Hello”打印一次。另一個(gè) Foreach“Earth”打印兩次。我不明白問(wèn)題出在哪里。當(dāng)我卸載 Foreach 時(shí),問(wèn)題消失了,但當(dāng)我再次輸入 foreach 時(shí),問(wèn)題又出現(xiàn)了<div class="carousel-clip" data-jcarousel="true" style="width: 874.798px;"><ul class="carousel-list" style="left: 0; top: 0;"><?php foreach (YoutubeApi::getAllVideo('brhhkavxkgU') as $item): ?><p>Hello</p><?php endforeach; ?></ul></div><!-- end .carousel-clip --><div class="loop-content switchable-view grid-small" data-view="grid-small" data-ajaxload="1"><div class="nag cf"><?php foreach (YoutubeApi::getAllVideo('brhhkavxkgU') as $item): ?><p>world</p><?php endforeach; ?></div></div>class YoutubeApi{public static function getAllVideo($videoId) { $url = "https://www.googleapis.com/youtube/v3/videos"; static $all = []; $params = [ 'key' => '...', 'part' => 'statistics,snippet', 'id' => $videoId, ]; $call = $url . '?' . http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $call); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); $output = curl_exec($ch); $data = NULL; $data = json_decode($output, true); $all[] = $data; curl_close($ch); return $all; }}
1 回答

千萬(wàn)里不及你
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
這是因?yàn)槟愕臄?shù)組$all
被聲明為靜態(tài)的,這意味著第二次運(yùn)行時(shí),第一個(gè)結(jié)果仍然存在于數(shù)組中。每次調(diào)用該函數(shù)時(shí),它都會(huì)將新結(jié)果添加到數(shù)組中$all
。
如果這不是所需的行為,則每次都需要清除數(shù)組,或者不在函數(shù)中將其聲明為靜態(tài)。
或者,如果這是所需的行為,但您想要多次顯示結(jié)果,請(qǐng)更改調(diào)用代碼以檢索結(jié)果,然后對(duì)它們進(jìn)行 foreach,而不是將函數(shù)調(diào)用作為顯示循環(huán)的一部分。
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)
0/150
提交
取消