2010-07-31 28 views
0

可以吗?改变print/echo中的变量?

而不是

$next_page = $pageNumber + 1; 
print '<a href="'.$url.'/page/'.$next_page.'">Next &raquo;</a>'; 

我想它写这样

print '<a href="'.$url.'/page/'.$pageNumber+1.'">Next &raquo;</a>'; 

最后一个给我的语法错误。为什么?

回答

2

你需要把括号内的操作:

print '<a href="'.$url.'/page/'.($pageNumber+1).'">Next &raquo;</a>'; 

这应该做的伎俩。

澄清:现在你试图连接一个数字(1)和一个字符串,PHP不能这样做。 如果您在括号之间放置表达式,结果将成为解析器的常规变量,该解析器可以自动键入字符串并因此用于并置。

+2

其实,你错了。 PHP可以连接一个数字和一个字符串。但是,它不能添加两个字符串,并且因为串联在添加之前发生,所以会发生这种情况。 – Mewp 2010-07-31 14:04:09

+0

当然,你是对的。 – Blizz 2010-07-31 15:50:46

1

由于运算符的优先级。这将工作:

print '<a href="'.$url.'/page/'.($pageNumber+1).'">Next &raquo;</a>';