0

我有一个函数,并且在函数内我有:

$clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);

$foldername 值在函数之外。

当我运行上面的 temp_images/xyz/output 时,temp_images/xyz/output 仍然是 temp_images/xyz/output,但随后我将 temp_images/xyz/output 直接替换为 xyz 而不是 $foldername。然后它会改变。

如何在 str_replace 中插入带有变量的混合文本?

谢谢

4

2 回答 2

4

我不建议使用全局变量。$foldername改为作为函数参数传递:

function some_func($foldername) {
    ...
    $clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
    ...
}
于 2013-10-20T15:15:07.010 回答
-1

使用函数传递一个变量:

function qwerty($foldername){
 ....
 $clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
 ....
}
qwerty("xyz");

其他方式(不好)

如果 $foldername 在函数外部,则使用global $foldername;内部函数获取$foldername变量值。例子 :

$foldername="xyz";
function qwerty(){
 global $foldername;
 $clean_dir = str_replace("temp_images/".$foldername."/output/", "", $dir);
 ....
}

使用全局变量不是一个好习惯。而是使用第一个示例。

于 2013-10-20T15:14:50.673 回答