Sorry, I'm still confused by all these variable names flying around - I can never keep track of which variables are being used as the names of which other variables (variable array variables, no less!). One thing I can point out is
$description = "$description";
is a completely useless line. All it does is take the value of $desription, convert it into a string (and I'm guessing it's a string already, so that's a waste of time), and then putting the resulting value back into $description. In other words, it's exactly equivalent to
$description=$description;
. Once you've understood what it actually means to put a variable in double-quoted strings (hint: there's virtually never any point to writing "$variable"), you'll see that those two pieces of code are equivalent to (and I'm using string concatenation instead of interpolation just to make the point):
$name = "name".$forum['fid'];
$name = $$name;
$description = "description".$forum['fid'];
$description = $$description;
$dorder = "dorder".$forum['fid'];
$dorder = $$dorder;
$delete = $forum['fid'];
$delete = $$delete;
and
$name = $fid;
$description = $description;
$dorder = $dorder;
$delete = "delete".$forum['fid'];
$delete = $$delete;
Respectively. The latter one simplifies further, to:
$name = $fid;
$delete = ${"delete".$forum['fid']};
In short, I think you've got yourself well confused by what you're trying to do and you'll need a machete to clear away the vines. You surely don't need anything this complicated.