JSON for one column of a csv file?
The reason you needed the '[' and ']' was to put the array around the records.  A better way of doing it is building the array of records in php and then encoding that.  Here is what I would do:

$fname = "subjects.csv";

if (($handle = fopen($fname, "r")) === FALSE) {
    exit;
}

$records = array();

/* First line is header with keys */
$keys = fgetcsv($handle);

while (($data = fgetcsv($handle)) !== FALSE) {
   $data[0] /= 2;
   $records[] = array_combine($keys, $data);
}

fclose($handle);

echo json_encode($records);