Isolate comma-separated values, remove duplicates and empty values, then sort

$array = array (
    0 => '9,12',
    1 => '5,6,10,13,7,8,14',
    2 => '13',
    3 => '',
    4 => '',
    5 => '14',
    6 => '15'
);

// turn strings into arrays with explode
$array = array_map( function( $item ) { return explode( ',', $item ); }, $array );
// merge all arrays
$array = call_user_func_array( 'array_merge', $array );
// remove empty and duplicate values    
$array = array_filter( array_unique( $array ) );
// sort 
sort( $array );

print_r( $array );
/* output: 
Array
(
    [0] => 5
    [1] => 6
    [2] => 7
    [3] => 8
    [4] => 9
    [5] => 10
    [6] => 12
    [7] => 13
    [8] => 14
    [9] => 15
)
*/

Leave a Comment