Не получается сотртировать массив по его значению, массив такой
array (
0 =>
array (
'ID' => '1',
'NAME' => '3131',
'LAST_NAME' => '132',
'SECOND_NAME' => '',
'STATUS_WORK_DAY' => 'CLOSED',
),
1 =>
array (
'ID' => '4',
'NAME' => 'Павел',
'LAST_NAME' => 'Иванов',
'SECOND_NAME' => '',
'STATUS_WORK_DAY' => 'CLOSED',
),
2 =>
array (
'ID' => '5',
'NAME' => 'Иван',
'LAST_NAME' => 'Иванов',
'SECOND_NAME' => 'Иванович',
'STATUS_WORK_DAY' => 'CLOSED',
),
3 =>
array (
'ID' => '17',
'NAME' => 'Автобус',
'LAST_NAME' => 'Иванов',
'SECOND_NAME' => 'Иванович',
'STATUS_WORK_DAY' => 'OPENED',
),
я хочу что бы вначале у меня были элементы с STATUS_WORK_DAY => OPENED, а все остальные с closed, пытался вот так
$usersWithOpenedDay = [];
foreach ($arAllUsers as $userId => $valueUserId) {
$userTimeMan = new \CTimeManUser($valueUserId['ID']);
$userSettings = $userTimeMan->GetSettings();
$status = $userTimeMan->State();
if ($userSettings['UF_TIMEMAN']) {
$valueUserId += ['STATUS_WORK_DAY' => $status];
}
$usersWithOpenedDay[] = usort($valueUserId, function($a, $b) {
if ($a['STATUS_WORK_DAY'] == 'OPENED') {
return 0;
}
});
}
но в массив $usersWithOpenedDay попадают элементы с значением true и всё прошлые значения удалились