在函数内部使用变量


Using variable inside a function

这似乎是一个非常简单的问题,但我没有任何运气解决它,不完全确定搜索什么。我试图得到$logo由函数使用,使图像使用第1行定义的变量:

$logo = 'http://dev.batman.com/logo.png';
function signup_email_body( $logo ){
  $body = '<img src="'.$logo.'" />';
}

该函数在注册时触发,src属性丢失。

(注意。以上是用于保存大量HTML的简化代码)

$body的值永远不会从函数中返回,因此一旦函数调用完成执行,它基本上就会消失。为了实际使用它,您需要从函数返回该值:

$logo = 'http://dev.batman.com/logo.png';
function signup_email_body( $logo ){
  return '<img src="'.$logo.'" />';
}
$body = signup_email_body( $logo ); // <-- now $body has that string value

在这些情况下使用sprintf()是一个很好的主意。

$logo = 'http://dev.batman.com/logo.png';
function signup_email_body($logo)
{
   return sprintf('<img src="%s" />', $logo);
}
echo signup_email_body($logo);