我想在函数中输出2个设置为参数的变量。
function aboutMe($somenam="rahul", $someplace="delhi")
{return "$somenam $someplace";}
echo "<br/>",aboutMe();
echo "<br/>",aboutme("sachin");
我只是想知道为什么如果我使用return $somenam $someplace;
会抛出错误,而如果我使用return "$somenam $someplace";
它会正确输出。为什么需要引号,因为在下面的代码中,没有引用返回后工作正常:
function func_having_static_var($x = NULL)
{
$var = 0;
if ($x === NULL)
{ return $var; }
// $var = $x;
}
echo func_having_static_var();
答案 0 :(得分:4)
不是引用是必需的,return
只能返回一件事。
当您键入"$somenam $someplace"
时,您正在创建一个字符串对象并将其返回。如果你return $somenam." ".$someplace;
(它仍然是一个对象),你也可以这样做。
return $somenam $someplace;
语法无效,因为您要返回两个对象。
return
只接受一个变量(要返回的值),这就是return $var
有效的原因。
有关详细信息,请参阅documentation on returning values。
答案 1 :(得分:1)
您只能从该函数返回一个值。因此,如果您不想使用引号将它们组合起来,则需要使用.
运算符来连接变量,
return $somenam." ".$someplace;