在内部使用变量回显HTML锚点时非常困惑。
<?php
echo ' <a href="?p=".$current_page +1".">Next</a>';
?>
我尝试了很多失去的变种,我试过了。其中一个尝试是使用大括号{
,但仍然没有。我知道我的单引号和双引号混乱了!
请有人请我直截了当地说明这一点。另外,PHP中的撇号和引号的规则是什么。如果我想回应一些事情,我应该从什么开始,撇号或引用。
答案 0 :(得分:5)
<?php
echo ' <a href="?p='.($current_page + 1).'">Next</a>';
?>
如果你想在回声中对其他技巧做一些数学计算,你需要用括号括起来。
编辑:@DaveRandom指出 trickery 子句的例外是$var++
和++$var
。
答案 1 :(得分:2)
如果在打印字符串时使用'
,则内部的所有内容都将被视为文本。
如果使用"
,内部传递的变量将转换为它们的值。
然而,在"
内进行数学运算是不可能的。你必须逃避它并以'PHP方式'进行。
<?php
echo ' <a href="?p=' . ($current_page +1) .'">Next</a>';
?>
答案 2 :(得分:2)
使用双引号"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文档以及Quotes and Strings上的这篇精彩文章。
答案 3 :(得分:1)
我假设你想这样做:
echo ' <a href="?p='.($current_page + 1)'.">Next</a>';
答案 4 :(得分:1)
你可以尝试这个
$link = ' <a href="?p=%d">%s</a>';
printf($link, $current_page - 1, "Prev");
printf($link, $current_page + 1, "Next");