0

对回显带有变量的 HTML 锚点感到非常困惑。

<?php
echo '&nbsp;&nbsp;<a href="?p=".$current_page +1".">Next</a>';
?>

我已经尝试了很多我尝试过的丢失的变体。其中一项尝试是使用大括号{,但仍然没有。我知道我的单引号和双引号弄乱了!

有人可以请我直接说这个。另外,PHP中撇号和引号的规则是什么。如果我想回应某事,我应该以什么开头,撇号或引用。

4

5 回答 5

5
<?php
echo '&nbsp;&nbsp;<a href="?p='.($current_page + 1).'">Next</a>';
?>

如果您想对回声中的其他技巧进行一些数学运算,则需要将其括在括号中。

编辑:@DaveRandom 指出诡计子句的例外是$var++and ++$var

于 2012-09-12T11:27:21.383 回答
2

如果您'在打印字符串时使用,则里面的所有内容都被视为文本。

如果使用",则内部传递的变量将转换为它们的值。

然而,在里面做数学运算是不可能的"。你必须逃避它并以'PHP方式'来做。

<?php
echo '&nbsp;&nbsp;<a href="?p=' . ($current_page +1) .'">Next</a>';
?>
于 2012-09-12T11:27:41.343 回答
2

使用双引号"something"并在变量在引号内时用大括号括起来。

echo "&nbsp;&nbsp;<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的精彩文章。

于 2012-09-12T11:37:08.417 回答
1

我假设你想这样做:

echo '&nbsp;&nbsp;<a href="?p='.($current_page + 1)'.">Next</a>';
于 2012-09-12T11:28:20.480 回答
1

你可以试试这个

$link = '&nbsp;&nbsp;<a href="?p=%d">%s</a>';

printf($link, $current_page - 1, "Prev");
printf($link, $current_page + 1, "Next");
于 2012-09-12T11:31:59.420 回答