PHP字符串与变量集成的连接

时间:2013-07-24 12:53:42

标签: php

在使用Classic ASP工作了15年之后,我是PHP的新手,而且我已经遇到了串联这样的基础问题。请你帮我解释一下这有什么问题:

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

非常感谢。

6 个答案:

答案 0 :(得分:2)

如果您真的想要连接表达式,请使用括号

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

答案 1 :(得分:1)

最可靠的是$ pg-1部分

取决于PHP提供的错误

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

答案 2 :(得分:0)

问题是

 $pg-1

这样做

$page = $pg-1;


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

答案 3 :(得分:0)

它必须是什么

准备好所有数据后,请先将其打印出来

<a href="pg=<?=$pg?>" id="Page<?=$pg?>Link">&laquo;&nbsp;Previous</a>&nbsp;

答案 4 :(得分:0)

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

答案 5 :(得分: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(windows)。
  2. 你用单引号。控制字符仅用双引号解析,因此您需要“\ n”或“\ r \ n”,或者在输出中得到一个字面反斜杠+字母。