带有混合文本和变量的PHP str_replace?

时间:2013-10-20 15:06:38

标签: php

我有一个功能,并且在我的功能中:

$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中插入带有变量的混合文本?

由于

2 个答案:

答案 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);
 ....
}

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