我有这样的代码: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