$v ) { if( !is_array( $v ) ) { $fa[ ]= $v; continue; } $l++; $fa= array_flat( $v, $fa, $l ); $l--; } if( $l == 0 ) $fa = array_values( array_unique( $fa ) ); return $fa; } $tmp = array( 'a' => array( -1,-2, 0, 2, 3 ), 'b' => array( 'c' => array( -1, 0, 2, 0, 3 ) ) ); print_r(array_flat($tmp)); ?>