1

我对 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

我在哪里犯错误?

4

7 回答 7

5

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

echo $a, $b;

实际上是

echo $a; echo $b;

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

真正要找的是串联

echo $a . $b;

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

return $a . $b;
于 2013-01-18T09:45:55.067 回答
4

用它.来连接PHP

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

正如囚犯所建议的那样

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

于 2013-01-18T09:44:39.057 回答
2

我不认为 , 用于连接任何编程语言中的字符串。

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

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

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

请参阅:PHP 字符串

于 2013-01-18T09:48:09.437 回答
1

PHP 字符串连接使用 .

echo Test::getBaseUrl() . '/' . $append_url;
于 2013-01-18T09:45:08.153 回答
1

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

 echo Test::getBaseUrl().','.'/'.', '.$append_url;
于 2013-01-18T09:48:44.387 回答
1

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

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

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

return Test::getBaseUrl() . '/' . $append_url;
于 2013-01-18T09:48:55.763 回答
1

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

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

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

于 2013-01-18T09:55:55.957 回答