【发布时间】:2013-01-26 17:07:12
【问题描述】:
我正在使用 php 的自然排序算法natsort,但我有一个关于内存使用的考虑。
事情就是这样。脚本从 mysql 中提取数据并将结果放入一个数组中,然后在其上应用 natsort。但这就是问题所在。行的文本可能很长,可能有数百行。
示例代码:
$array = array();
while ($row = $db->getResults()) {
$array[$row->code] = $row->text;
}
if (empty($array)) {
uksort($array, "strnatcmp");
}
我想知道这对记忆有何影响?这是合适的方法还是我应该做一些更有效、更愉快的事情?
【问题讨论】:
-
@Jack MySQL 可以有效地进行自然排序吗?
-
没错。我正在避免使用 mysql natsort 因为它本身不支持。所以我更喜欢php的natsort。
-
@JoachimIsaksson 好吧,那么 那 应该是问题,不是吗? :)
-
@Jack,MySQL 没有很好的自然排序解决方案。看看this thread
-
或者你只是创建一个额外的列,以便mysql 可以可靠地排序。
标签: php mysql sorting memory natural-sort