我需要通过子数组中的值对我的多维数组进行排序。在下面的数组示例中,我需要通过子值“revenue_certificate”对父数组进行排序。PHP,由子数组排序多维数组
function custom_sort($a, $b) {
return strcmp($a['revenue_certificate'], $b['revenue_certificate']);
}
usort($data_array, 'custom_sort');
我觉得我快到了,但是我根本不明白的是如何引用“revenue_certificate”的子数组值。
Array
(
[0] => Array
(
[company_id] => 130
[company_name] => Eureka/Brookings
[revenue_certificate] => 3
[revenue_cash] => 33
[average_sale] => 0
[total_orders] => 0
[certificates_per_order] => -1
[revenue_per_certificate] => -1
[visible_items] => 25
[retail_value] => -1
[average_discount] => -1
[new_advertisers] => 1
[emails_harvested] => 1
[new_customers] => 1
)
[1] => Array
(
[company_id] => 82
[company_name] => Big Deals Across America
[revenue_certificate] => 1
[revenue_cash] => 0
[average_sale] => 0
[total_orders] => 0
[certificates_per_order] => -1
[revenue_per_certificate] => -1
[visible_items] => 1
[retail_value] => -1
[average_discount] => -1
[new_advertisers] => 0
[emails_harvested] => 0
[new_customers] => 0
)
[2] => Array
(
[company_id] => 134
[company_name] => Fergus Falls, MN
[revenue_certificate] => 2
[revenue_cash] => 20
[average_sale] => 0
[total_orders] => 0
[certificates_per_order] => -1
[revenue_per_certificate] => -1
[visible_items] => 128
[retail_value] => -1
[average_discount] => -1
[new_advertisers] => 129
[emails_harvested] => 2
[new_customers] => 1
)
)
感谢您的任何帮助。
你的代码看起来不错,有什么问题?你有错误吗? – Gavriel
没有错误。当运行原来的代码时,数组按“revenue_certificate”进行排序,但它并不将“revenue_certificate”的值视为数字,而是将其视为字符串。例如,这可能是结果顺序:0,10,11000,125,1350,20 –