-1

这是显示整个数组的工作代码的一部分;

$files = filelist("./",1,1); // call the function
shuffle($files);
foreach ($files as $list) {//print array
echo "<a href=\"" . $list['name'] . "$startDir\"><h4> " . $list['name'] . " </h4></a>";
//    echo "Directory: " . $list['dir'] . " => Level: " . $list['level'] . " => Name: " . $list['name'] . " => Path: " . $list['path'] ."<br>";

如何修改它以使其仅显示 10 或 15 个列表而不是全部?

4

3 回答 3

5

使用计数器来限制迭代次数:

$counter = 0;
foreach ($files as $list) {//print array
    // your loop code here...
    $counter++;
    if ($counter > 10) break;
}
于 2012-12-23T13:29:12.813 回答
1

如果您知道数组的键或索引,您可以通过简单的 for 循环更快地完成 KingCrunch 所做的事情

for($i=0; $i<=14; $i++) {
   // echo $file[$i];
}
于 2012-12-23T13:29:43.937 回答
-2

它有一个功能

foreach(array_slice($files, 0, 15) as $file) { 
  /* your code here */ 
}

http://php.net/array-slice

另一种解决方案是使用array_rand()而不是shuffle()array_chunk()

foreach (array_rand($files, 15) as $key) {
  $file = $files[$key];
  // Your code here
 }

http://php.net/array-rand

请注意,这会保持键的顺序(请参阅下面的 salathes 评论)。

于 2012-12-23T13:27:21.133 回答