我有如下多个数组结构
array (
'Mexico' =>
array (
'Regular_Club' =>
array (
'2015-02' =>
array (
'cost' => 41479.8,
'signups' => 3891,
'share' => 16241.46,
),
),
'Sweepstakes' =>
array (
'2015-02' =>
array (
'cost' => 1186736.04,
'signups' => 280850,
'share' => 468069.14,
),
),
),
)
我想根据字段开销降序排序这个数组。我试过单类、多类,但运气不好。结果如下:
Result:
array (
'Mexico' =>
array (
'Sweepstakes' =>
array (
'2015-02' =>
array (
'cost' => 1186736.04,
'signups' => 280850,
'share' => 468069.14,
),
),
'Regular_Club' =>
array (
'2015-02' =>
array (
'cost' => 41479.8,
'signups' => 3891,
'share' => 16241.46,
),
),
),
)
在使用uksort之前收集成本:
foreach ($inputArray as $country => $array) {
foreach( $array as $key => $value)
foreach ($value as $val) $weight[$key] = (int) $val['cost'];
uksort($array, function ($k1, $k2) use ($weight) { return $weight[$k2] - $weight[$k1]; });
$resultArray = array($country => $array);
}
var_export($resultArray);