в основном у меня есть этот массив:PHP значения Перестановка массива на основе состояния
array(
'08:00-08:40' => array(
't' => '39',
'sub' => 'COMP'
),
'08:40-09:20' => array(
't' => '17',
'sub' => 'KIS'
),
'09:20-10:00' => array(
't' => '36',
'sub' => 'B/ST'
),
'10:20-11:00' => array(
't' => '7',
'sub' => 'ENG'
),
'11:00-11:40' => array(
't' => '36',
'sub' => 'B/ST'
),
'11:40-12:20' => array(
't' => '31',
'sub' => 'HIS'
),
'12:20-13:00' => array(
't' => '26',
'sub' => 'PHY'
),
'14:00-14:40' => array(
't' => '33',
'sub' => 'GEO'
),
'14:40-15:20' => array(
't' => '31',
'sub' => 'HIS'
),
'15:20-16:00' => array(
't' => '20',
'sub' => 'BIO'
)
)
Мое требование заключается в том, что если элемент [ «суб»] дважды появляется во всем массиве, то оба экземпляры должны быть рядом друг с другом в массиве.
так для вышеприведенного массива я ожидаю иметь следующий вывод:
array(
'08:00-08:40' => array(
't' => '39',
'sub' => 'COMP'
),
'08:40-09:20' => array(
't' => '17',
'sub' => 'KIS'
),
'09:20-10:00' => array(
't' => '36',
'sub' => 'B/ST'
),
'10:20-11:00' => array(
't' => '36',
'sub' => 'B/ST'
),
'11:00-11:40' => array(
't' => '7',
'sub' => 'ENG'
),
'11:40-12:20' => array(
't' => '31',
'sub' => 'HIS'
),
'12:20-13:00' => array(
't' => '31',
'sub' => 'HIS'
),
'14:00-14:40' => array(
't' => '26',
'sub' => 'PHY'
),
'14:40-15:20' => array(
't' => '33',
'sub' => 'GEO'
),
'15:20-16:00' => array(
't' => '20',
'sub' => 'BIO'
)
)
я не могу понять, как адаптировать this solution к моему case..any очень оцененная
Почему бы вам просто не отсортировать массив на основе значений 'sub'? Это поставит все те же ценности рядом друг с другом. – Barmar
@Barmar Я отредактировал название и тело вопроса. Сортировка изменит элементы, но я хочу, чтобы значения были перегруппированы – GOA