我是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
我犯了错误?
答案 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));
}
简而言之:一个函数只接受一个参数,所以逗号分隔多个参数根本不起作用