我只是想知道是否有像.=这样的东西可以将文本添加到字符串的开头,例如:
$foo =. 'bar';
这不管用。
编辑:示例最初是$foo =. $bar;
,可以用$bar .= $foo;
实现
发布于 2011-08-19 01:52:13
不是的。但你能做到
$foo = "bar" . $foo
发布于 2011-08-19 02:03:32
您可以随时为此创建自己的函数:
function prepend($string, $chunk) {
if(!empty($chunk) && isset($chunk)) {
return $string.$chunk;
}
else {
return $string;
}
}
$string
将是您想要预先添加的部分,而$chunk
将是您希望在其上添加内容的文本。
你可以说检查是可选的,但是有了它,你就不需要担心意外地传入空值了。
发布于 2015-02-25 23:07:10
我知道之前有人问过/回答过这个问题,但提供这个答案是因为它在功能上是等价的,尽管它不是赋值运算符,也没有人评论它用于常规字符串连接的用法。
您可能希望研究一下sprintf
(documentation)系列函数在字符串连接中的使用。与仅仅使用赋值操作符组合两个字符串相比,它提供了更多的清理和可用性。
$foo = 'foo';
$append = sprintf('%1$s%2$s', $foo, 'bar');
var_dump($append);
/* string(6) "foobar" */
$prepend = sprintf('%1$s%2$s', 'bar', $foo);
var_dump($prepend);
/* string(6) "barfoo" */
$prependInvert = sprintf('%2$s%1$s', $foo, 'bar');
var_dump($prependInvert);
/* string(6) "barfoo" */
$wrap = sprintf('%2$s%1$s%2$s', $foo, 'bar');
var_dump($wrap);
/* string(6) "barfoobar" */
我通常使用vsprintf
,因为使用数组比使用单个参数更容易管理值位置。
$vprepend = vsprintf('%2$s%1$s', array('foo', 'bar'));
var_dump($vprepend);
/* string(6) "barfoo" */
另外,使用值数组,可以简单地对结果值集执行implode
操作,以便进行简单的字符串连接。
var_dump(implode('', array('bar', 'foo')));
/* string(6) "barfoo" */
https://stackoverflow.com/questions/7111816
复制相似问题