猿问

数组排序添加额外的键

使用时,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仅返回“额外”数组键。那么也许我的数组结构有问题?我应该使用array_pop()吗?


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


慕虎7371278
浏览 161回答 1
1回答

神不在的星期二

natcasesort不返回额外的键,它返回(根据文档)Returns TRUE on success or FALSE on failure.所以只需将其排序为 natcasesort($fileList);
随时随地看视频慕课网APP
我要回答