Par*_*ser 1 php sorting int object
我有一个对象,并有一个问题,这个对象在这里$ 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
Run Code Online (Sandbox Code Playgroud)
正确的排序方式如下:
test product 1
test product 2
test product 3
test product 11
test product 33
test product 20
test product 111
test product 333
Run Code Online (Sandbox Code Playgroud)
我曾尝试sort和rsort没有运气.
如果它可以帮助,我的对象看起来像这样:
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) ""
}
Run Code Online (Sandbox Code Playgroud)
我需要排序
array(8) {
[0]=>
object(stdClass)#12 (49) {
["product_title"]=>
string(10) "Fadestativ"
}
Run Code Online (Sandbox Code Playgroud)
好吧,假设它们是对象(来自你的描述和评论),你可以使用usort.
PHP 5.3+:
usort(
$array,
function($a, $b) {
return strnatcmp($a->title, $b->title);
}
);
Run Code Online (Sandbox Code Playgroud)
PHP <= 5.2:
usort(
$array;
create_function('$a, $b', 'return strnatcmp($a->title, $b->title);`)
);
Run Code Online (Sandbox Code Playgroud)
更改->title为您要排序的任何属性.如果你想要不区分大小写,请使用strnatcasecmp而不是strnatcmp()......