在php中返回一个没有引号的变量

时间:2014-07-08 06:51:24

标签: php

我想在函数中输出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();

2 个答案:

答案 0 :(得分:4)

不是引用是必需的,return只能返回一件事。

当您键入"$somenam $someplace"时,您正在创建一个字符串对象并将其返回。如果你return $somenam." ".$someplace;(它仍然是一个对象),你也可以这样做。

return $somenam $someplace;语法无效,因为您要返回两个对象。

return只接受一个变量(要返回的值),这就是return $var有效的原因。

有关详细信息,请参阅documentation on returning values

答案 1 :(得分:1)

您只能从该函数返回一个值。因此,如果您不想使用引号将它们组合起来,则需要使用.运算符来连接变量,

return $somenam." ".$someplace;