我正在使用Method One来替换值并且工作正常。我现在已经掌握了自定义函数,所以我想将其更改为方法二中更简单的自定义函数方法,但它不起作用。非常感谢任何帮助。
$plarge = $_POST['plarge'];
$phmaxl = $_POST['phmaxl'];
$fhandle = fopen($fname,"r");
$content = fread($fhandle,filesize($fname));
#### METHOD ONE ######
$content = str_replace($large,$plarge,$content);
$content = str_replace($hmaxl,$phmaxl,$content);
######################
#### METHOD TWO ######
function setreplace($set){
$content = str_replace($set,p.$set,$content);
}
setreplace($phmaxl);
setreplace($plarge);
#######################
####### WRITES NEW VAULUES TO SETTINGS FILE ############
$fhandle = fopen($fname,"w");
fwrite($fhandle,$content);
####### CLOSES SETTINGS FILE ############
fclose($fhandle);
答案 0 :(得分:1)
函数不访问外部作用域,也不能连接这样的变量名。
考虑做这样的事情:
$replacements = array();
$replacements[$large] = $plarge;
$replacements[$hmaxl] = $phmaxl;
$content = strtr($content,$replacements);