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)
您可以使用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你附加到函数名称的要短.