我想通过它的一个元素来使用对象,但我不知道如何对包含数字的字符串进行字符串比较,并且数字的位置并不总是相同。PHP使用正确数字的字符串
例如在我的情况的值,我想排序是这样的: String (A), String (B), String bit longer 1, String bit longer 2, String bit longer 3, String bit longer 10, String bit longer 20
(但不是按照这个顺序)
,如果我做一个简单的strcmp()比较usort将对其进行排序,如MySQL会这样顺序看起来是这样的:String (A), String (B), String bit longer 1, String bit longer 10, String bit longer 2, String bit longer 20, String bit longer 3
这是错误的
现在我卡住了,不应该怎么做才能正确分类。
编辑:
对象我想排序如下所示:
Array
(
[0] => stdClass Object
([field] => String (A) ... lots of other fields)
[1] => stdClass Object
([field] => String (B) ... lots of other fields)
[2] => stdClass Object
([field] => String bit longer 1 ... lots of other fields)
[3] => stdClass Object
([field] => String bit longer 2 ... lots of other fields)
...and so on
)
你想要做一个自然排序? – Barmar 2014-09-04 02:50:49
你看过'natsort()'吗? – Barmar 2014-09-04 02:51:32
那么正确的排序是什么? – Ghost 2014-09-04 02:55:34