Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当操作数是函数时使用php串联运算符_Php - Fatal编程技术网

当操作数是函数时使用php串联运算符

当操作数是函数时使用php串联运算符,php,Php,预期结果:testdo 但实际结果是: 做 测试% 我知道如何更改代码以获得预期的结果。 但我怀疑的是,为什么代码会打印出这样的结果。 有人能解释一下吗?谢谢 使用return <?php function dosomething(){ echo "do\n"; } $temp="test".dosomething(); echo $temp; ?> 使用return <?php function dosomething(){ echo "do\n"; }

预期结果:testdo

但实际结果是: 做

测试%

我知道如何更改代码以获得预期的结果。 但我怀疑的是,为什么代码会打印出这样的结果。 有人能解释一下吗?谢谢

使用return

<?php
function dosomething(){
    echo "do\n";
}

$temp="test".dosomething();
echo $temp;
?>
使用return

<?php
function dosomething(){
    echo "do\n";
}

$temp="test".dosomething();
echo $temp;
?>
剂量仪在屏幕上回响。因为这是第一次运行,所以会打印do\n

dosomething也不会返回任何内容,因此第二个回波相当于回波测试

要使用通话结果,您应返回:

function dosomething(){
return "do\n"; }
它会像你期望的那样

澄清。为了计算出$temp是什么,必须首先运行函数,该函数首先打印出do\n。

dosomething正在屏幕上回响。因为这是第一次运行,所以会打印do\n

dosomething也不会返回任何内容,因此第二个回波相当于回波测试

要使用通话结果,您应返回:

function dosomething(){
return "do\n"; }
它会像你期望的那样


澄清。为了计算出$temp是什么,必须首先运行函数,该函数首先打印出do\n。

使用return语句而不是echo

function dosomething(){
    return "do\n";
}

使用return语句而不是echo

function dosomething(){
    return "do\n";
}

我不知道为什么人们会被否决。他们的答案是正确的


我不知道为什么人们会被否决。他们的答案是正确的

试试这个:

在调用函数中使用return。这样您将得到调用函数的字符串。所以函数将被字符串替换,2个字符串将被替换

-

谢谢

试试这个:

在调用函数中使用return。这样您将得到调用函数的字符串。所以函数将被字符串替换,2个字符串将被替换

-


谢谢

OP-wants:我知道如何更改代码以获得预期结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?我想是因为你的函数是先执行的,所以它打印do,然后打印var$temp,其中包含test和以%表示的函数的串联。你不同意吗?OP想要:我知道如何更改代码以获得预期的结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?我想是因为你的函数是先执行的,所以它打印do,然后打印var$temp,其中包含test和以%表示的函数的串联。你不同意吗?OP想要:我知道如何更改代码以获得预期的结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?OP想要:我知道如何更改代码以获得预期的结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?仔细阅读OP想要什么:OP想要什么:我知道如何更改代码以获得预期的结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?啊,引号里没有空格\n不会在浏览器中渲染。但是,PHP正在为其生成内容的电子邮件和其他文档中\n或\r或\r\n将呈现的唯一内容。例如$foo='something';将返回某物,其中$foo='something'。。。你明白了。您也可以在其中包含内容,但我建议您不要这样做,除非您直接将内容发布到浏览器。请仔细阅读OP想要什么:OP想要什么:我知道如何更改代码以获得预期结果。但我怀疑的是,为什么代码会打印出这样的结果。有人能解释一下吗?啊,引号里没有空格\n不会在浏览器中渲染。但是,PHP正在为其生成内容的电子邮件和其他文档中\n或\r或\r\n将呈现的唯一内容。例如$foo='something';将返回某物,其中$foo='something'。。。你明白了。您也可以在其中包含内容,但我建议您不要这样做,除非您直接将内容发布到浏览器。