在php中,字符串连接(通过函数调用获得的字符串)是无序的。为什么?

在php中,字符串连接(通过函数调用获得的字符串)是无序的。为什么?,php,string,wordpress,concatenation,Php,String,Wordpress,Concatenation,这: 我看到连接顺序受函数调用的影响,所以我尝试使用一个中间变量,但它不起作用 使用点运算符而不是sprintf或使用“/{$nick}/single.php”也可以实现同样的效果 函数The_author\u meta是一个Wordpress函数,用于从文章作者处获取数据,在这种情况下必须返回作者的昵称(“francadaval”) 我怎样才能使用函数调用作者的昵称将$author\u single结果设置为“/francadaval/single.php” 谢谢。您应该使用而不是作者元 作

这:

我看到连接顺序受函数调用的影响,所以我尝试使用一个中间变量,但它不起作用

使用点运算符而不是
sprintf
或使用
“/{$nick}/single.php”
也可以实现同样的效果

函数
The_author\u meta
是一个Wordpress函数,用于从文章作者处获取数据,在这种情况下必须返回作者的昵称(“francadaval”)

我怎样才能使用函数调用作者的昵称将
$author\u single
结果设置为“/francadaval/single.php”

谢谢。

您应该使用而不是
作者元

  • 作者元数据
    显示作者元数据
  • 获取作者元数据
    返回作者元数据
您应该使用而不是
作者元

  • 作者元数据
    显示作者元数据
  • 获取作者元数据
    返回作者元数据

看来,
函数的\u author\u meta()
没有返回值,而是输出值

因此,实际发生的是:

/francadaval/single.php
francadaval//single.php
francadaval//single.php
内部函数
The_author\u meta
首先运行,因此输出
francadaval
并返回
null
<然后以
null
作为第二个参数运行code>sprintf,返回
//single.php
。然后,
echo
station将
//single.php
附加到输出(现在已经有
francadaval
)中,生成结果:
francadaval//single.php

echo '<br>';
$author_single = sprintf( '/%s/single.php', the_author_meta( 'nickname') );
echo ( $author_single );

似乎,
函数的\u author\u meta()
没有返回值,而是输出值

因此,实际发生的是:

/francadaval/single.php
francadaval//single.php
francadaval//single.php
内部函数
The_author\u meta
首先运行,因此输出
francadaval
并返回
null
<然后以
null
作为第二个参数运行code>sprintf,返回
//single.php
。然后,
echo
station将
//single.php
附加到输出(现在已经有
francadaval
)中,生成结果:
francadaval//single.php

echo '<br>';
$author_single = sprintf( '/%s/single.php', the_author_meta( 'nickname') );
echo ( $author_single );

我不完全同意您的输出
sprintf
不会删除output@Baba:
sprintf
没有删除
/
。请阅读下面我的答案以获得解释。我不完全同意您的输出
sprintf
不会删除output@Baba:
sprintf
没有删除
/
。请阅读下面我的答案以获得解释。
echo '<br>';
$nick = the_author_meta( 'nickname');
$author_single = sprintf( '/%s/single.php', $nick );
echo ( $author_single );
echo '<br>';
$author_single = sprintf( '/%s/single.php', get_the_author_meta( 'nickname') );
echo ( $author_single );