我有一个功能,并且在我的功能中:
$clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
$ foldername值不在函数中。
当我运行上面的temp_images / xyz / output时,仍然是temp_images / xyz / output,但是我直接用xyz替换temp_images / xyz / output而不是$ foldername。然后它改变了。
如何在str_replace中插入带有变量的混合文本?
由于
答案 0 :(得分:4)
我不建议使用全局变量。将$foldername
作为函数参数传递:
function some_func($foldername) {
...
$clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
...
}
答案 1 :(得分:-1)
使用函数传递变量:
function qwerty($foldername){
....
$clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
....
}
qwerty("xyz");
在函数内部使用global $foldername;
来获取 $ foldername 变量值(如果它在函数外部)。示例:
$foldername="xyz";
function qwerty(){
global $foldername;
$clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
....
}
使用全局变量不是一个好习惯。而是使用第一个例子。