问题标签 [natsort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2724 浏览

sql - MySQL ORDER BY 的问题 - 我可以使用 natsort 来修复它吗?

我需要对 MySQL 结果使用自然排序,因为它当前对我的 INT 值进行如下排序:

  • 1
  • 123
  • 1256
  • 22
  • 231

[ETC]

虽然我需要它来排序

  • 1
  • 22
  • 231
  • 1256

我知道“natsort”函数,但它不适用于 MySQL 查询结果。我如何(自然地)排序,是否可以在查询中执行此操作?

谢谢您的帮助!

编辑:示例查询$result = mysql_query("SELECT * FROM forums ORDER BY 'posts' DESC;");

不完全确定我对 DESC 的使用是否有效,但它不会引发错误,所以它一定没问题。不幸的是,似乎将 DESC 更改为 ASC 也没有效果......

0 投票
3 回答
19578 浏览

python - PHP 的 natsort 函数的 Python 模拟(使用“自然顺序”算法对列表进行排序)

我想知道 Python 中是否有类似于PHP natsort函数的东西?

给出:

但我想得到:

更新

解决方案基于此链接

0 投票
1 回答
2817 浏览

php - 为什么 natsort(或 natcasesort)不在这里工作?

也许我在做一些令人尴尬的错误,但为什么这个数组没有被排序?

当我根本不尝试对数组进行排序时,我似乎得到了相同的结果。sort()有效,但似乎没有别的。

谢谢你的帮助!


更新:

以下是示例结果:

没有排序

sort()

使用natsort()natcasesort()

我希望至少 natsort 的结果看起来像 sort 的。

0 投票
3 回答
4981 浏览

php - natsort 多任务数组

我有一个像这样的多维数组:

我需要对内部数组进行排序,以便按天键以自然顺序返回数据。

像这样的IE:

我认为我需要的是一个通过 $key 将 natsort 应用于多维数组的函数,但到目前为止,我还没有找到除标准排序之外的任何函数。

有什么帮助吗?

0 投票
3 回答
12595 浏览

php - PHP:重新分配数组键

我有一个按降序排列的数字数组。当我添加到这个数组时,我添加到最后,然后执行natsort($times). $times 然后看起来像这样(由 print_r 获得):

但是,我希望重新分配所有键,以便刚刚添加的 0.10 是数组索引 4,以便轻松查看新时间的位置。即“您的排名是 $arrayindex+1”

除了将整个数组复制到一个新数组中以获取新键之外,还有更好的方法吗?

0 投票
3 回答
1089 浏览

php - 按自然降序对目录文件名数组进行排序

我有一个按自然降序返回的内容目录。

我正在使用scandir()and natsort(),但添加array_reverse()没有结果。

我一直在研究使用组合opendir()以及readdir()其他任何方法来影响这一结果。

要排序的项目是编号的图像文件。它们将被返回为:10 9 8 7等等,但是 like from like 1000 999 998 997... until0

这是我当前的代码:

0 投票
1 回答
381 浏览

ajax - ajax natsort() json 数组排序

我正在使用 php opendir 函数从一个文件中 ajaxing 一个图像数组。它在本地按顺序工作,但当我将它上传到我的服务器时随机吐出。我想可能是因为我没有亲自订购它,所以它正在这样做。我尝试在我的数组上使用natsort() ,然后用JSON_ENCODE 将它发回,但它不起作用,因为它返回了一个对象(并且它的顺序仍然错误,只是编号)。我从 console.log() 本地得到这个:

这是来自console.log()的我的服务器:

有没有更好的排序数组的方法?有关如何解决此问题的任何建议?提前为您的帮助喝彩。

编辑 01 - 解决方案

使用 javascript 对 JSON 回调后的数组进行排序:

0 投票
1 回答
86 浏览

php - PHP 证明了一个挑战 - 带有标签的 natsort

0 投票
1 回答
66 浏览

php - 带有前导字符 PHP 的 natsort 故障

我有几百个 xhtml 文件,我将它们的名称推送到一个数组中。命名约定p0x.xhtmlx1-400。我正在尝试natsort数组,但前导p似乎与排序冲突。

作为最后的手段,我可​​以重命名文件,但如果可能的话想避免这种情况。如果有人知道解决方法,我将不胜感激。

产量:

期望的输出是:

0 投票
3 回答
1101 浏览

php - 为什么在 natsort / strnatcmp / strnatcasecmp 中忽略空格?

strnatcmp在比较函数中使用对表格中的人名进行排序。对于我们的比利时客户,我们得到了一些奇怪的结果。他们有像“范德布罗克”和“范德维尔”这样的名字,然后strnatcasecmp("Van der", "Vander")回来了0

由于自然比较旨在像人类一样进行排序,我不明白为什么这些空间会被完全忽略。

例如:

给出:

但是人类会说:

我现在的解决方案是将所有空格替换为下划线,处理得当。两个问题:为什么会这样natsort工作?有更好的解决方案吗?