$a = 'i am a $b'; // declared before $b is declared
function x(....) {
global $a;
$b = 'boy';
$c = '{$a}'; // i know this doesn't work. how can I make it work?
}
我希望$ c返回“我是男孩”
这是我的问题的一个简单示例。在实际情况下,涉及许多变量。有简单的解决方法吗?
答案 0 :(得分:1)
这是功能派上用场的地方。它们接受参数并返回一些已编译的值。
// create named function
function namedFn($b) {
return "i am a $b";
}
// or anonymous
$f = function ($b) {return "i am a $b"; };
// call function and pass $b as argument
$b = 'boy';
echo namedFn($b);
echo $f($b);
如果您确实需要使用变量的内容重新解析某些字符串,只需使用str_ireplace
$a = 'i am a $b';
echo str_ireplace('$b', $b, $a); // $search , $replace , $subject