2010-09-18 50 views
5

我一直在PHP编程多年,我一直想知道是否有一种方法来预串联一个字符串。例如:PHP串联前速记?

$path = '/lib/modules/something.php'; 
$server = $_SERVER['DOCUMENT_ROOT']; 

我以一个值添加到字符串的开头已经做了多年:

$path = $server . $path; 
// returns: /home/somesite.com/public_html/lib/modules/something.php 

是否有这样的简写?只是好奇。

+2

通过速记你沿着线的平均值=,如果你想添加的,而不是预先准备,你会怎么做? – 2010-09-18 10:43:44

回答

0

尝试sprintf的功能,因为它已经为我工作 - 这里的信息就可以了:http://docs.php.net/sprintf

+0

不幸的是,这只会让它变长。 – 2010-09-18 08:48:11

1

没有,但你可以编写自己的功能:

function pc(&$a, &$b) { 
    $a = $b . $a; 
} 
pc($path, $server); 

pc以上调用设置$path$server . $path

+9

这只是使整个代码更不可读。 – Gumbo 2010-09-18 09:41:35

+0

像这样的函数只是一个简写的建议,因为没有内置的语法。如果你不喜欢它,不要使用它...? – 2010-09-18 09:47:03

+0

其实你写了一个类的方法。在这一点上,我仍然赞同甘博。 – AntonioCS 2010-09-18 14:13:16

3

一个不那么认真的回答(我知道这是更长的时间):

$path = strrev($path); 
$path .= strrev($_SERVER['DOCUMENT_ROOT']); 
$path = strrev($path); 

是没有限制的创造力! ;)

2

进行连结的简写是interpolation

$path = "{$_SERVER['DOCUMENT_ROOT']}/lib/modules/something.php"; 
+1

但是插值仅适用于字符串和变量。 – Gumbo 2010-09-18 09:42:47

+0

我宁愿意味着需要一个字面的字符串声明来连接变量。你只能使用变量而没有其他值返回表达式,如函数调用等。 – Gumbo 2010-09-18 10:13:48