eval($var . '="' . str_replace('"', '\\\\"', $itm) . '";');
Why? Dear god why. Please stop.PHP provides a built in escaper for this purpose
eval($var . '=' . var_export($itm, true) . ';');
But even then you don't need eval here! ${$var} = $itm;
Is all you really needed... but really just use an array(map) if you want dynamic keys... don't use dynamically defined variables...