php array as column names in mysql db

I want to define the column names within a MySQL table as variable drawn from an array. The following is the array (using range function).

$year_range = range($start_year1,$end_year3);
print_r($year_range);

Which returns the following:

Array ( [0] => 2029 [1] => 2030 [2] => 2031 [3] => 2032 [4] => 2033 [5] => 2034 [6] => 2035 [7] => 2036 [8] => 2037 )

I want to use this array to name the columns in a temporary MySQL database. I guess using a loop and/or an implode function. I know 'implode' is the best way to do this. This is what I have tried.

$columns = array($year_range);
foreach $year_range {
    $columns[] = '`' . str_replace($space, $resplacespace, $year_range) . '` VARCHAR(10)';
}
$query = 'CREATE TABLE `' . $unique_id . '` (' . implode(',', $columns) . ')';
mysql_query($query) or die(mysql_error());

Can anyone shed some light on what it is i'm doing wrong or a different way in which to achieve this. Thank you.