PHP变量和字符串


PHP variables and strings

与回显内部有变量的HTML锚非常混淆。

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

我试过很多种变体,但我试过了。其中一个尝试是使用大括号{,但仍然没有。我知道我把我的单引号和双引号弄糊涂了!

有人能告诉我这个吗。另外,PHP中撇号和引号的规则是什么。如果我想呼应什么,我应该用什么开头,撇号或引号。

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

如果你想在回声中计算其他技巧,你需要把它放在括号里。

Edit:@DaveRandom指出trickery子句的例外是$var++++$var

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

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

然而,在"中进行数学运算是不可能的。你必须逃离它,并以"PHP方式"进行操作。

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

使用双引号"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文档,以及这篇关于引号和字符串的精彩文章。

我想你想这样做:

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

你可以试试这个

$link = '&nbsp;&nbsp;<a href="?p=%d">%s</a>';
printf($link, $current_page - 1, "Prev");
printf($link, $current_page + 1, "Next");