这必须很简单:我使用glob来构建一个指向目录中所有文件的链接列表(即index.php,somefile.php,someotherfile.php),但是我需要排除index.php
之前的文件名/路径array_slice
。
由于某些原因,在这两个示例中,我可以在index.php
之后排除array_alice
,但之前不能排除index.php
。我做错了什么?
这不会删除文件名/路径chdir('/dir/tree/');
foreach (glob("*.php") as $path) {
$files[$path] = filemtime($path);
} arsort($files);
if($path != 'index.php') {
foreach (array_slice($files, 0, 3) as $path => $timestamp) {
print '<a href="'. $path .'">'. $path .'</a><br />';
}
}
:
index.php
这会删除chdir('/dir/tree/');
foreach (glob("*.php") as $path) {
$files[$path] = filemtime($path);
} arsort($files);
foreach (array_slice($files, 0, 3) as $path => $timestamp) {
if($path != 'index.php') {
print '<a href="'. $path .'">'. $path .'</a><br />';
}
}
,但它位于array_alice之后,因此我会打印两个链接而不是三个:
wsl
答案 0 :(得分:1)
你正在循环检查。
<php
foreach (glob("*.php") as $path) {
//---------------------------^
$files[$path] = filemtime($path);
}
arsort($files);
if($path != 'index.php') {}
//---^
将它放在你的循环中:
foreach (glob("*.php") as $path) {
if($path == 'index.php') {
continue;
}
$files[$path] = filemtime($path);
}