任何等同于。=添加到PHP的string的开头?

只是想知道是否有类似的。=添加文本到string的开始,例如:

$foo =. 'bar'; 

这不起作用。

编辑:例子最初是$foo =. $bar; $foo =. $bar; 这可以通过$bar .= $foo;来实现$bar .= $foo;

不。 但是你可以做

 $foo = "bar" . $foo 

你总是可以为自己的function:

 function prepend($string, $chunk) { if(!empty($chunk) && isset($chunk)) { return $string.$chunk; } else { return $string; } } 

$string将是你想要prepend的$chunk$chunk将是你想要的东西前缀的文本。

你可以说支票是可选的,但是通过在那里你不需要担心偶然传入一个空值。

我知道这是前一个问题/答案,但提供这个答案,因为它是function上等效的,尽pipe它不是一个赋值运算符,没有人评论其用于一般string连接。

您可能需要查看sprintf ( documentation )函数族在string连接中的用法。 它提供了更多的消毒和可用性,而不仅仅是将两个string与赋值运算符结合起来。

 $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 ,因为使用数组比处理单个参数更容易pipe理值的位置。

 $vprepend = vsprintf('%2$s%1$s', array('foo', 'bar')); var_dump($vprepend); /* string(6) "barfoo" */ 

还有一个值的数组,可以简单地为简单的string串联内插值的结果集。

  var_dump(implode('', array('bar', 'foo'))); /* string(6) "barfoo" */ 

你可以包装内置函数substr_replace ,其中参数$ start和$ length可以被设置为0,它将$ replacementreplace为$ string并返回结果,如下所示:

 function prepend(& $string, $prefix) { $string = substr_replace($string, $prefix, 0, 0); } 

辅助函数的一个示例用法是:

 $email_message = "Jonathan"; $appropriate_greeting = "Dear "; prepend($email_message, $appropriate_greeting); echo $email_message; 

如果你正在进行程序编程,那就是。

  $foo = "Some Foo Text"; $bar = "Some Bar Text"; echo $foo.$bar // Some Foo TextSome Bar Text echo $bar.$foo // Some Bar TextSome Foo Text $foobar = $foo.$bar $boofar = $bar.$foo