返回新创建的字符串

时间:2013-01-18 09:43:45

标签: php string

我是php的新手,我正在尝试连接三个字符串。如果我这样做,这是有效的:

echo Test::getBaseUrl() , '/' , $append_url;

但这种情况发生在方法内部,我希望将其返回给被调用方,但是当我添加return而不是echo时,这样:

return Test::getBaseUrl() , '/' , $append_url;

我收到这样的错误:

PHP Parse error:  syntax error, unexpected ',' in /home/ubuntu/Test.php on line 31

我犯了错误?

7 个答案:

答案 0 :(得分:5)

echo是一种语言结构,它支持一种特殊的语法,允许链接多个echo - “动作”。这意味着

echo $a, $b;

实际上是

echo $a; echo $b;

(不是真的,它有点不同,但那并不重要)

真正寻找的是串联

echo $a . $b;

(因为这是一个常规运算符)适用于所有可以处理字符串

的东西
return $a . $b;

答案 1 :(得分:4)

.

中使用此PHP进行连接
return Test::getBaseUrl() . '/' . $append_url;

正如囚犯

所建议的那样

附加:它适用于echo $ x,$ y,$ z的原因是因为你可以传递一个基本上输出多个echo的逗号列表(例如echo $x; echo $y;)。

答案 2 :(得分:2)

我不认为,它用于以任何编程语言加入字符串。

在PHP中,连接运算符(。)用于将两个字符串值放在一起。

echo Test::getBaseUrl() . '/' . $append_url;

return Test::getBaseUrl() . '/' . $append_url;

请参阅:PHP String

答案 3 :(得分:1)

PHP字符串连接使用。

echo Test::getBaseUrl() . '/' . $append_url;

答案 4 :(得分:1)

如果你想在字符串中使用逗号:

 echo Test::getBaseUrl().','.'/'.', '.$append_url;

答案 5 :(得分:1)

当您使用echo Test::getBaseUrl() , '/' , $append_url;时,您实际上在说

echo Test::getBaseUrl();
echo '/';
echo $append_url;

如果要创建单个字符串,则必须使用.连接3个字符串 例如:

return Test::getBaseUrl() . '/' . $append_url;

答案 6 :(得分:1)

包含关键字语言构造常规构造的所有答案都是正确的,但只是为了澄清一点:
函数不能再返回超过 1 的值(并且没有更少......在某个低级别,函数 在完成时返回一些信号。换句话说,如果return是一个函数,它将被定义为:

function return($value)
{//written in PHP-style, obviously
    fwrite(php://stdout, $value, sizeof($value));
}

简而言之:一个函数只接受一个参数,所以逗号分隔多个参数根本不起作用