2010-09-18 57 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