我想通過它的一個元素來使用對象,但我不知道如何對包含數字的字符串進行字符串比較,並且數字的位置並不總是相同。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