-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 に答える