首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法删除"."/"..“从scandir数组

无法删除"."/"..“从scandir数组
EN

Stack Overflow用户
提问于 2020-09-23 10:40:18
回答 2查看 42关注 0票数 1

我使用scandir将一些文件名放入数组,然后尝试使用if stmt对“”进行切片。和"..“从数组中返回,但这不起作用,所以我尝试仅在变量不是"..“时回显图像。或".“但这并不管用。示例代码如下:

代码语言:javascript
运行
复制
if ($pages[$pageIndex] == "." || $pages[$pageIndex] == "..") {
  array_slice($pages, 0, 2);
  print_r($pages);
}
# And

while ($i < $pagesLength) {
  if ($pages[$pageIndex] != "." || $pages[$pageIndex] != "..") {
    echo "<img src='series/series_" . rawurlencode($_GET['series']) . "/series_" . rawurlencode($newLink) . "/" . rawurlencode($pages[$pageIndex]) . "'>";
    $pageIndex = $pageIndex + 1;
    $i++;
  }
}                            }

不管我做什么,他们都留了下来,我怎么才能摆脱他们呢?

数组内容:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-23 11:20:58

使用从第2行开始的for循环跳过. / ..

代码语言:javascript
运行
复制
for ($i = 2; $i <= $pagesLength; $i++) {
  // do something
}
票数 1
EN

Stack Overflow用户

发布于 2020-11-02 03:17:35

删除任何隐藏文件的一个好方法是:

代码语言:javascript
运行
复制
$pages = preg_grep('/^(?!\.{1,2}$)/', $pages);

另一种快速方法是使用array_diff()

代码语言:javascript
运行
复制
$pages = array_diff($pages, array('.', '..'));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64020247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档