与回显内部有变量的HTML锚非常混淆。
<?php
echo ' <a href="?p=".$current_page +1".">Next</a>';
?>
我试过很多种变体,但我试过了。其中一个尝试是使用大括号{
,但仍然没有。我知道我把我的单引号和双引号弄糊涂了!
有人能告诉我这个吗。另外,PHP中撇号和引号的规则是什么。如果我想呼应什么,我应该用什么开头,撇号或引号。
<?php
echo ' <a href="?p='.($current_page + 1).'">Next</a>';
?>
如果你想在回声中计算其他技巧,你需要把它放在括号里。
Edit:@DaveRandom指出trickery子句的例外是$var++
和++$var
。
如果在打印字符串时使用'
,则里面的所有内容都将被视为文本。
若使用"
,内部传递的变量将转换为它们的值。
然而,在"
中进行数学运算是不可能的。你必须逃离它,并以"PHP方式"进行操作。
<?php
echo ' <a href="?p=' . ($current_page +1) .'">Next</a>';
?>
使用双引号"something"
,并在变量位于引号内时用大括号将其括起来。
echo " <a href='?p={$current_page+1}'>Next</a>";
您也可以使用字符串串联,这基本上意味着将几个字符串连接在一起:
echo 'something' . 'something else' . $my_variable;
至于转义,如果在某些引号内的任何位置,您希望插入相同类型的引号(例如,如果您用双引号包围脚本,并且您希望插入双引号),则需要通过在这些引号前加一个反斜杠-'
来转义这些引号。
例如,如果要输出<a href="#url">Text</a>
,并且用双引号将其括起来,则需要在HREF属性中用反斜杠'
转义这些双引号,因此结果应该是<a href='"#url'">Text</a>
。
以下是转义和显示字符的有效方法:
echo "it'" so nice to be here";
echo 'it''s so nice to be here';
echo "it's so nice to be here"; // Different quotes, no need to escape
echo 'it"s so nice to be here'; // Different quotes, no need to escape
以下情况将导致错误:
echo 'it's so nice the be here';
因为PHP解释器会假设表达式以it's
中的引号结尾,导致处理的行的其余部分是无效代码。
有关更多信息,您可以阅读关于echo()函数的PHP文档,以及这篇关于引号和字符串的精彩文章。
我想你想这样做:
echo ' <a href="?p='.($current_page + 1)'.">Next</a>';
你可以试试这个
$link = ' <a href="?p=%d">%s</a>';
printf($link, $current_page - 1, "Prev");
printf($link, $current_page + 1, "Next");