array_merge excepts one or more array's - what you actually do is to pass array_merge all cells of the row as an param. This looks i.e. like array_merge('row1', 'row2',...)
So what you want is perhabs something like this
$flat = call_user_func_array('array_merge', array($un));