PHP函数加入字符串?

Sam*_*son 2 php string concatenation

join_strings(string $glue, string $var, string $var2 [, string $...]);
Run Code Online (Sandbox Code Playgroud)

我正在寻找与我上面概念化的功能类似的东西.一个功能性的例子是:

$title = "Mr.";
$fname = "Jonathan";
$lname = "Sampson";

print join_strings(" ", $title, $fname, $lname); // Mr. Jonathan Sampson
Run Code Online (Sandbox Code Playgroud)

在给文档快速查看之后,我没有看到任何这样做.我能想到的最接近的是implode(),它在数组上运行 - 所以我必须首先将字符串添加到数组中,然后内爆.

是否已经存在实现此目的的方法,或者我是否需要从头开始创作?

注意:我熟悉连接(.)和构建连接(.=).我不想这样做(这将发生在函数内).我的意图是只写一次$ glue变量.每次连接都不会多次.

bum*_*box 21

你可以使用join或implode,两者都做同样的事情,你说它需要是一个并不困难的数组

join($glue, array($va1, $var2, $var3));
Run Code Online (Sandbox Code Playgroud)


mer*_*tor 8

您可以使用func_get_args(),使implode()(或别名join())弯曲你的意愿:

function join_strings($glue) {
    $args = func_get_args();
    array_shift($args);
    return implode($glue, $args);
}
Run Code Online (Sandbox Code Playgroud)

但是,作为func_get_args()笔记的文档:

返回一个数组,其中每个元素都是当前用户定义函数的参数列表的相应成员的副本.

所以你仍然最终从参数中创建一个数组然后传递它,除非你现在让PHP为你处理这个问题.

你有一个比你问题更有说服力的例子来证明不是直接使用implode()吗?

你现在唯一要做的就是省去键入array()变量的麻烦,但这实际上比_strings你附加到函数名称的要短.