Well, what's going on here?
array_push($cleanFields, $key[nl2br(htmlspecialchars($value))]);
Looks like you are trying to push the value of $key where the index is
nl2br(htmlspecialchars($value))
I doubt this is what you want.
If you just want to clean the content of the array, why not just assign it directly?
$cleanfields=array()
foreach(...)
{
$cleanfields[$key]=nl2br(htmlspecialchars($value));
};