数组排序添加额外的键

时间:2019-07-15 00:44:37

标签: php arrays sorting

使用natcasesort()时,在数组末尾有一个额外的数组键。

在我的示例中,我从目录中创建文件名数组:

if (is_dir($files_path)) {
  if ($dh = opendir($files_path)) {
    while (($fileName = readdir($dh)) !== false) {
      if (pathinfo($fileName, PATHINFO_EXTENSION) == 'yml') {
        $fileList[] = $fileName;
      }
    }
    closedir($dh);
  }
}

$fileList[] = natcasesort($fileList);

仅当对数组应用排序时会发生这种情况。

此外,如果我将最后一行写为:

$sortedFileList[] = natcasesort($fileList);

$sortedFileList仅返回“ extra ”数组键。所以也许我的数组结构有问题?我应该只使用array_pop()吗?

为什么是natcasesort()或任何sort()选项,在这种情况下会返回此值?

1 个答案:

答案 0 :(得分:1)

log不返回 extra 键,而是返回(按照documentation

natcasesort

所以只需将其排序为Returns TRUE on success or FALSE on failure.