<?php
$raw_data = array(
array('category_name' => 'Category1', 'channel_name' => 'Item 1'),
array('category_name' => 'Category3', 'channel_name' => 'Item 2'),
array('category_name' => 'Category1', 'channel_name' => 'Item 2'),
array('category_name' => 'Category3', 'channel_name' => 'Item 1'),
array('category_name' => 'Category2', 'channel_name' => 'Item 2'),
array('category_name' => 'Category2', 'channel_name' => 'Item 1')
);
$sorted = array();
foreach ($raw_data as $k => $v) {
if(!array_key_exists($v['category_name'], $sorted )) {
$sorted[$v['category_name']] = array();
}
$sorted[$v['category_name']][] = $v['channel_name'];
sort($sorted[$v['category_name']]);
}
ksort($sorted);
print_r($sorted);
?>