对回显带有变量的 HTML 锚点感到非常困惑。
<?php
echo ' <a href="?p=".$current_page +1".">Next</a>';
?>
我已经尝试了很多我尝试过的丢失的变体。其中一项尝试是使用大括号{
,但仍然没有。我知道我的单引号和双引号弄乱了!
有人可以请我直接说这个。另外,PHP中撇号和引号的规则是什么。如果我想回应某事,我应该以什么开头,撇号或引用。
对回显带有变量的 HTML 锚点感到非常困惑。
<?php
echo ' <a href="?p=".$current_page +1".">Next</a>';
?>
我已经尝试了很多我尝试过的丢失的变体。其中一项尝试是使用大括号{
,但仍然没有。我知道我的单引号和双引号弄乱了!
有人可以请我直接说这个。另外,PHP中撇号和引号的规则是什么。如果我想回应某事,我应该以什么开头,撇号或引用。
<?php
echo ' <a href="?p='.($current_page + 1).'">Next</a>';
?>
如果您想对回声中的其他技巧进行一些数学运算,则需要将其括在括号中。
编辑:@DaveRandom 指出诡计子句的例外是$var++
and ++$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 文档以及有关Quotes 和 Strings的精彩文章。
我假设你想这样做:
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");