2011-01-20 64 views
0

我有一個對象,並有一個問題,這個對象在這裏$ product有這個鍵(product_title,product_price,product_stock)等等,我需要在product_title之後排序,如果我的對象有這個產品在我看來是不能排序的。將對象作爲值與整數和文本值排序

test product 1 
test product 11 
test product 111 
test product 2 
test product 20 
test product 3 
test product 33 
test product 333 

正確的方法對它進行排序它是這樣的:

test product 1 
test product 2 
test product 3 
test product 11 
test product 33 
test product 20 
test product 111 
test product 333 

我試圖sortrsort沒有運氣。

如果它可以幫助,我的目標是這樣的:

array(8) { 
    [0]=> 
    object(stdClass)#12 (49) { 
    ["product_id"]=> 
    string(3) "335" 
    ["product_guid"]=> 
    string(36) "F0161D03-33EF-6F40-C816-AEDB33640E36" 
    ["account_id"]=> 
    string(2) "28" 
    ["category_id"]=> 
    string(3) "189" 
    ["brand_guid"]=> 
    NULL 
    ["product_title"]=> 
    string(10) "Fadestativ" 
    ["push_date"]=> 
    string(19) "2011-01-18 13:02:11" 
    ["product_price"]=> 
    string(3) "560" 
    ["product_price_before"]=> 
    string(1) "0" 
    ["on_stock"]=> 
    string(1) "0" 
    ["product_weight"]=> 
    string(1) "0" 
    ["product_int_number"]=> 
    string(0) "" 
    ["product_ext_number"]=> 
    string(0) "" 
    ["product_small_info"]=> 
    string(0) "" 
    ["product_big_info"]=> 
    string(31) "3 benet fad stativ højde 19 cm" 
    ["active"]=> 
    string(1) "1" 
    ["meta_title"]=> 
    string(0) "" 
    ["meta_keyword"]=> 
    string(0) "" 
    ["meta_description"]=> 
    string(0) "" 
    ["product_new"]=> 
    string(1) "0" 
    ["indicative_price"]=> 
    string(1) "0" 
    ["cost_price"]=> 
    string(1) "0" 
    ["id"]=> 
    string(2) "28" 
    ["domain"]=> 
    string(26) "eventhuset.schemecloud.com" 
    ["password"]=> 
    string(32) "098f6bcd4621d373cade4e832627b4f6" 
    ["resellerid"]=> 
    string(1) "2" 
    ["defualt_lang"]=> 
    string(2) "dk" 
    ["quota"]=> 
    string(3) "100" 
    ["account_type"]=> 
    string(3) "cms" 
    ["busniess_name"]=> 
    string(0) "" 
    ["busniess_street"]=> 
    string(0) "" 
    ["busniess_city"]=> 
    string(0) "" 
    ["busniess_zipcode"]=> 
    string(0) "" 
    ["busniess_contry"]=> 
    string(0) "" 
    ["busniess_phone"]=> 
    string(0) "" 
    ["busniess_contact_person"]=> 
    string(0) "" 
    ["busniess_contact_phone"]=> 
    string(0) "" 
    ["busniess_email"]=> 
    string(0) "" 
    ["busniess_cvr"]=> 
    string(0) "" 
    ["invoice_name"]=> 
    string(0) "" 
    ["invoice_street"]=> 
    string(0) "" 
    ["invoice_city"]=> 
    string(0) "" 
    ["invoice_zipcode"]=> 
    string(0) "" 
    ["invoice_contry"]=> 
    string(0) "" 
    ["invoice_contact_person"]=> 
    string(0) "" 
    ["invoice_cvr"]=> 
    string(0) "" 
    ["payment_expires"]=> 
    string(19) "0000-00-00 00:00:00" 
    ["next_order_number"]=> 
    string(5) "10001" 
    ["order_prefix"]=> 
    string(0) "" 
    } 
    [1]=> 
    object(stdClass)#14 (49) { 
    ["product_id"]=> 
    string(3) "306" 
    ["product_guid"]=> 
    string(36) "8119C253-84C7-73AC-4125-DF4B1728A203" 
    ["account_id"]=> 
    string(2) "28" 
    ["category_id"]=> 
    string(3) "189" 
    ["brand_guid"]=> 
    NULL 
    ["product_title"]=> 
    string(15) "Kartoffel skål" 
    ["push_date"]=> 
    string(19) "2011-01-17 13:40:08" 
    ["product_price"]=> 
    string(3) "680" 
    ["product_price_before"]=> 
    string(1) "0" 
    ["on_stock"]=> 
    string(1) "0" 
    ["product_weight"]=> 
    string(1) "0" 
    ["product_int_number"]=> 
    string(0) "" 
    ["product_ext_number"]=> 
    string(0) "" 
    ["product_small_info"]=> 
    string(0) "" 
    ["product_big_info"]=> 
    string(31) "Kartoffel skål i rustfri stål" 
    ["active"]=> 
    string(1) "1" 
    ["meta_title"]=> 
    string(0) "" 
    ["meta_keyword"]=> 
    string(0) "" 
    ["meta_description"]=> 
    string(0) "" 
    ["product_new"]=> 
    string(1) "0" 
    ["indicative_price"]=> 
    string(1) "0" 
    ["cost_price"]=> 
    string(1) "0" 
    ["id"]=> 
    string(2) "28" 
    ["domain"]=> 
    string(26) "eventhuset.schemecloud.com" 
    ["password"]=> 
    string(32) "098f6bcd4621d373cade4e832627b4f6" 
    ["resellerid"]=> 
    string(1) "2" 
    ["defualt_lang"]=> 
    string(2) "dk" 
    ["quota"]=> 
    string(3) "100" 
    ["account_type"]=> 
    string(3) "cms" 
    ["busniess_name"]=> 
    string(0) "" 
    ["busniess_street"]=> 
    string(0) "" 
    ["busniess_city"]=> 
    string(0) "" 
    ["busniess_zipcode"]=> 
    string(0) "" 
    ["busniess_contry"]=> 
    string(0) "" 
    ["busniess_phone"]=> 
    string(0) "" 
    ["busniess_contact_person"]=> 
    string(0) "" 
    ["busniess_contact_phone"]=> 
    string(0) "" 
    ["busniess_email"]=> 
    string(0) "" 
    ["busniess_cvr"]=> 
    string(0) "" 
    ["invoice_name"]=> 
    string(0) "" 
    ["invoice_street"]=> 
    string(0) "" 
    ["invoice_city"]=> 
    string(0) "" 
    ["invoice_zipcode"]=> 
    string(0) "" 
    ["invoice_contry"]=> 
    string(0) "" 
    ["invoice_contact_person"]=> 
    string(0) "" 
    ["invoice_cvr"]=> 
    string(0) "" 
    ["payment_expires"]=> 
    string(19) "0000-00-00 00:00:00" 
    ["next_order_number"]=> 
    string(5) "10001" 
    ["order_prefix"]=> 
    string(0) "" 
    } 

,我需要整理後

array(8) { 
    [0]=> 
    object(stdClass)#12 (49) { 
    ["product_title"]=> 
    string(10) "Fadestativ" 
} 
+0

顯示您的代碼。沒有這個,我們不能猜測你想要排序的數組結構... – ircmaxell 2011-01-20 15:09:35

回答

4

那麼,假設他們是對象(從您的描述和評論他們似乎是),您可以使用usort

PHP 5.3+:

usort(
    $array, 
    function($a, $b) { 
     return strnatcmp($a->title, $b->title); 
    } 
); 

PHP < = 5.2:

usort(
    $array; 
    create_function('$a, $b', 'return strnatcmp($a->title, $b->title);`) 
); 

更改->title您要作爲排序依據的任何財產。如果您希望區分大小寫,請使用strnatcasecmp而不是strnatcmp() ...

0

再試一次排序(),但你必須使用第二個參數:

sort($array, SORT_STRING);