2013-07-24 90 views
1

在經典ASP中工作15年後,我是PHP的新手,我已經遇到了諸如串聯等基本問題。請你幫我解釋一下有什麼不對的地方請:可變集成PHP字符串串聯

$pstr_out .= '<a href="pg='.$pg-1.'" id="Page'.$pg-1.'Link">&laquo;&nbsp;Previous</a>&nbsp;\r'; 

非常感謝。

回答

2

如果你真的想連接的表達,用括號

$pstr_out .= '<a href="pg='. ($pg-1) .'" id="Page'. ($pg-1) .'Link">&laquo;&nbsp;Previous</a>&nbsp;\r'; 
echo $pstr_out; 
+0

非常感謝的傢伙..! – neojakey

0

問題是

$pg-1 

做這個

$page = $pg-1; 


$pstr_out .= '<a href="pg='.$page.'" id="Page'.$page.'Link">&laquo;&nbsp;Previous</a>& nbsp;\r'; 
1

最prabably的$ PG-1部分

依賴S於由PHP提供的錯誤

$pstr_out .= '<a href="pg='.($pg-1).'" id="Page'.($pg-1).'Link">&laquo;&nbsp;Previous</a>& nbsp;\r'; 
+0

我看@chandresh_cool已經給出了相同的答案(儘管有一個不必要的變量) – Garytje

0

它所必須

一旦你得到了你的所有數據準備好,用它打印出來

<a href="pg=<?=$pg?>" id="Page<?=$pg?>Link">&laquo;&nbsp;Previous</a>&nbsp; 
0
$x = $pg-1; 
    $pstr_out .= '<a href="pg='.$x.'" id="Page'.$x.'Link">&laquo;&nbsp;Previous</a>&nbsp;\r'; 
0

的真正原因開始你會得到一個解析錯誤,因爲php認爲1.'string'是一個帶小數點的浮點數,然後會被搞亂。整數+期間組合後需要一個空格:1 . 'string'

更糟糕的是,只是增加空格是不夠的 - 你也需要括號,以免混淆php與連接與算術:'<a href="pg=' . ($pg - 1) . '" id="Page' . ($pg - 1) .'Link">&laquo;&nbsp;Previous</a>&nbsp;\r'

最後, '\ r' 你必須在年底是錯誤的原因有二:

  1. 你真的可能不希望\ r - 你想要麼\ n(* nix中/ Mac)或\ r \ n(窗口)。
  2. 你有它在單引號。控制字符只能用雙引號解析,所以你需要「\ n」或「\ r \ n」,否則你的輸出中會出現一個反斜槓+字母。