我有這樣的代碼:PHP的foreach(只顯示其中10)
<?php
$files = glob("notes/last.*.*/table.php");
rsort($files);
foreach($files as $tables) {include $tables;}
?>
與輸出:
tables
tables
tables
這將包括從去年開始很多php的文件舊帖子。
我想只包括輸出的第一個。 (也就是最後加10) 怎麼辦?
我有這樣的代碼:PHP的foreach(只顯示其中10)
<?php
$files = glob("notes/last.*.*/table.php");
rsort($files);
foreach($files as $tables) {include $tables;}
?>
與輸出:
tables
tables
tables
這將包括從去年開始很多php的文件舊帖子。
我想只包括輸出的第一個。 (也就是最後加10) 怎麼辦?
測試此:
$i= 0;
foreach($files as $tables) {
$i++;
include $tables;
if($i == 10) break;
}
Op需要最後10個元素,而不是第一個10. – hsz
我認爲它可以,嗯,它顯示正確的方式,但是最上面的一個不正確,我正在測試它。 – user2773673
@ user2773673這隻會在您對數組進行降序排序時發生作用,以便最後添加的10個數組成爲數組中的前10個數。爲什麼要在foreach循環之外聲明一個計數器變量,當你可以使用for循環來獲得相同的結果? – Andrew
嘗試用:
$limitedArray = array_slice($files, count($files) - 10);
你並不需要做一個反向排序,以便進入最後10是第10在數組中。你可以得到數組的數量,從10中減去它,並循環到數組的末尾。您將需要將您的foreach更改爲for循環。
這應包括從$文件陣列的最後10:
for ($i = (count($files) - 10); $i < count($files); $i++)
{
include $files[$i];
}
我測試你的代碼,它不工作,meaby我忘了添加一些東西,可以給完整的代碼?來測試它。 – user2773673
你可以包含完整的代碼來初始化文件數組嗎?你遇到了什麼錯誤? – Andrew
http://stackoverflow.com/questions/4447127/php-any-function-that-return-first-last-n-數組元素 – Jack