我有基于键的多维数组:
Array
(
[Current Assets] => Array
(
[anxtureNo] =>
[weightage] => 7
[groupID] => 550ba6785c913193058b4567
[currentYearBalance] => 0
[previousYearBalance] => 0
[subGroupLevel1] => Array
(
[Bank Accounts] => Array
(
[name] => Bank Accounts
[anexture] => 10
[subGroupID] => 550ba6935c9131c60d8b4567
[currentYearBalance] => 46494482.51
[previousYearBalance] => 0
)
[Cash In Hand] => Array
(
[name] => Cash In Hand
[anexture] => 9
[subGroupID] => 550ba7095c91316d0f8b4567
[currentYearBalance] => 116465
[previousYearBalance] => 0
)
[Loan and advances & other current assets] => Array
(
[name] => Loan and advances & other current assets
[anexture] => 8
[subGroupID] => 550ba8d25c9131c60d8b4569
[currentYearBalance] => 6158321.5
[previousYearBalance] => 0
[innerSubGroup] => Array
(
[name] => Advances to Staff (SWF)
[anexture] => 32
[subGroupID] => 55cd972ac3acc3e40f8b4567
[currentYearBalance] => 6158321.5
[previousYearBalance] => 0
)
)
[Stock-in-hand] => Array
(
[name] => Stock-in-hand
[anexture] =>
[subGroupID] => 550ba9c05c9131c60d8b456a
[currentYearBalance] => 0
[previousYearBalance] => 0
)
[Sundry Debtors] => Array
(
[name] => Sundry Debtors
[anexture] => 30
[subGroupID] => 550baf515c913193058b4569
[currentYearBalance] => 1172626.36
[previousYearBalance] => 0
)
[Inventories] => Array
(
[name] => Inventories
[anexture] => 7
[subGroupID] => 56e98c79c3acc3fa438b4567
[currentYearBalance] => 825250
[previousYearBalance] => 0
)
[Fixed Deposits with banks] => Array
(
[name] => Fixed Deposits with banks
[anexture] => 18
[subGroupID] => 56ea75cfc3acc3d52f8b4567
[currentYearBalance] => 63527618
[previousYearBalance] => 0
)
)
[grandTotalTopLevelCurrentYear] => 118294763.37
[grandTotalTopLevelPreviousYear] => 0
)
[Fixed Assets] => Array
(
[anxtureNo] =>
[weightage] => 4
[groupID] => 550bb05a5c91316d0f8b4568
[currentYearBalance] => 0
[previousYearBalance] => 0
[subGroupLevel1] => Array
(
[Furniture/Fixture] => Array
(
[name] => Furniture/Fixture
[anexture] =>
[subGroupID] => 5567fb89c3acc350298b4567
[currentYearBalance] => 3684615
[previousYearBalance] => 0
)
[Vehicle] => Array
(
[name] => Vehicle
[anexture] =>
[subGroupID] => 5567fbbdc3acc375298b4567
[currentYearBalance] => 499318
[previousYearBalance] => 0
)
[Building] => Array
(
[name] => Building
[anexture] =>
[subGroupID] => 5567fbd7c3acc373298b4567
[currentYearBalance] => 23090937.65
[previousYearBalance] => 0
)
[Plant & Machinery] => Array
(
[name] => Plant & Machinery
[anexture] =>
[subGroupID] => 5567fc55c3acc3c7298b4567
[currentYearBalance] => 1901120
[previousYearBalance] => 0
)
[School Equipments] => Array
(
[name] => School Equipments
[anexture] =>
[subGroupID] => 55782b51c3acc387788b4567
[currentYearBalance] => 3317433.23
[previousYearBalance] => 0
)
[Electrical Equipments] => Array
(
[name] => Electrical Equipments
[anexture] =>
[subGroupID] => 557adb86c3acc331218b4567
[currentYearBalance] => 668285
[previousYearBalance] => 0
)
[Land] => Array
(
[name] => Land
[anexture] =>
[subGroupID] => 5586c173c3acc3b82a8b4567
[currentYearBalance] => 6202505
[previousYearBalance] => 0
)
)
[grandTotalTopLevelCurrentYear] => 39364213.88
[grandTotalTopLevelPreviousYear] => 0
)
[Current Liabilities & Provisions] => Array
(
[anxtureNo] => 12
[weightage] => 34
[groupID] => 559a5c55c3acc3d92b8b4567
[currentYearBalance] => 5398744.3
[previousYearBalance] => 0
[grandTotalTopLevelCurrentYear] => 5398744.3
[grandTotalTopLevelPreviousYear] => 0
)
)
此代码根据权重对其进行排序
foreach ($finalArrayForAssetsSide as $k => $v) {
$sort['weightage'][$k] = $v['weightage'];
}
if (count($finalArrayForAssetsSide) > 0) {
array_multisort($sort['weightage'], SORT_ASC, $finalArrayForAssetsSide);
}
我想根据" weightage"进行排序。每个Groups.But得到以下警告:
警告:array_multisort():/var/www/edubolderp/src/Edu/AccountBundle/Document/BudgetRepository.php第3318行中的数组大小不一致
请指导缺少的内容。提前致谢
答案 0 :(得分:1)
只需使用usort
并提供有效的排序功能。不需要array_multisort
usort($finalArrayForAssetsSide, function($a, $b) {
return $a['weightage'] - $b['weightage'];
});