2017-02-10 64 views
0
echo "<a href=/browsepage.php?category=$category&pagenumber=($i +1)>($i +1)</a>"; 

为什么输出显示(0 + 1)而不是1,并且url在$ category处截断。PHP我不知道为什么这个数学查询不起作用

第二套眼睛将不胜感激!

+2

因为你引用它来使它成为一个字符串文字,所以'$ i'将被内插,因为你使用双引号,但其余的(括号,加号,'1')只是部分字符串....'echo $ i +1;'没有引号会评估表达式,然后回显结果 –

+0

谢谢mark。我需要学习更多,因为我没有理解如何解决它从你的意见,虽然通读后,看到我现在明白的例子。 –

回答

0

$i + 1表达引号外:

echo "<a href='/browsepage.php?category=$category&pagenumber=".($i + 1)."'>".($i + 1)."</a>"; 

(因为引号里的数学表达式没有被评估,它们只是作为文本)

+1

你错过了任何一种解释(特别是因为这是一个_why_问题)。 –

+0

谢谢你们!我冷静得到它与第一评论,但与上面显示的例子,我现在明白了。 –

-1

首先,你必须在索姆错别字您码。其次,涉及一些串联的问题。尝试这一个代替:

echo '<a href="/browsepage.php?category='.$category.'&pagenumber='. ($i+1) .'">'. ($i+1) .'</a>'; 

的“结果显示(0 + 1),而不是1”,因为该表达不能被PHP呼应结果之前进行评价。

+1

谢谢!你的例子都很清楚。我现在知道了! –

相关问题