我有一個函數返回mp3列表的質量。我想要返回HD值如果我到達數組中的最後一個元素,但我在foreach循環中遇到問題,則返回true。它總是返回true。如何在foreach循環中獲得最高數字
代碼
function funcName() {
foreach($dirs as $d) {
if (filesize($d) > 200) {
$qualities = substr(strrchr(basename($d), "-"), 1);
$qualities = preg_replace('/\\.[^.\\s]{3,4}$/', '', $qualities);
// This is where I check whether it is the last element or not.
$numItems = count($dirs);
$i = 0;
foreach($dirs as $key => $value) {
if (++$i === $numItems) {
$zaa = true;
} else {
$zaa = false;
}
}
$files[] = ["files" => basename($d), "qualities" => $qualities, "hd" => $zaa];
}
}
return ($files);
}
我只是想回到$zaa = true
如果我達到了最後一個元素。在我的代碼中,它始終返回true。
請問你能告訴我我失敗的部分嗎?
將您的計數($ dirs)放在您的foreach循環之上,每迭代一次,您將重新計算數組/集合的大小。這是表現不是解決方案。 –