To the best of my knowledge, nothing is written to the session file until the script ends or you explicitly do a session_write_close().
One minor tweak would be to ditch the array_push() function and just directly assign the values to the array. (array_push() is only efficient when using multiple value arguments for a single call: array_push($array, $val1, $val2, ..., $valN).)
$_SESSION['univ_extra'][] = array('EXTRA_ID'=>$topics_row['EXTRA_ID'],
'EXTRA_ID'=>$topics_row['EXTRA_ID'],
'EXTRA_ID'=>$topics_row['EXTRA_ID'],));
Hmm...is this déjà vu all over again?