【发布时间】:2013-11-25 03:09:43
【问题描述】:
您可能会认为同一个问题已经发布了一百万次,但我有一个特殊的例外,这使得它有点不同。
所以我有一个如下所示的数组:
$array = array(
array('name' => 'foo', 'capacity' => "128MB"),
array('name' => 'foo2', 'capacity' => "256MB"),
array('name' => 'foo3', 'capacity' => "512MB"),
array('name' => 'foo4', 'capacity' => "16GB"),
...
);
如您所见,我的数据值低于 MB 和 GB,因此结果如下所示:
foo = 128MB
foo4 = 16GB
foo2 = 256MB
foo3 = 512MB
我需要以逻辑方式按容量排序,将 MB 和 GB 值分开,将 MB 放在首位,并且还查看要排序的数字中的 3 位数字,所以我没有得到这种类型的排序:
1 = 100
2 = 12
3 = 140
不幸的是,将所有容量值转换为 MB,然后在需要时仅显示为 GB,这不是一种选择。
我想知道你们这些聪明人的想法是什么?任何帮助将不胜感激!
谢谢!
【问题讨论】:
-
将所有容量以千字节为单位排序并显示出来。
-
这是令人难以置信的自定义排序,您尝试过什么,您在哪里卡住了?我在正文中看不到任何
for()循环。像这样的问题通常很快就会被否决。 -
@MonkeyZeus 感谢您的回复,我还没有为此编写太多代码,我更多的是处于“思考如何”阶段。我只是觉得 Stack 可能有一些比我脑子里更好的建议。