PHP变量和字符串

时间:2012-09-12 11:25:44

标签: php

在内部使用变量回显HTML锚点时非常困惑。

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

我尝试了很多失去的变种,我试过了。其中一个尝试是使用大括号{,但仍然没有。我知道我的单引号和双引号混乱了!

请有人请我直截了当地说明这一点。另外,PHP中的撇号和引号的规则是什么。如果我想回应一些事情,我应该从什么开始,撇号或引用。

5 个答案:

答案 0 :(得分:5)

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

如果你想在回声中对其他技巧做一些数学计算,你需要用括号括起来。

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

答案 1 :(得分:2)

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

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

然而,在"内进行数学运算是不可能的。你必须逃避它并以'PHP方式'进行。

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

答案 2 :(得分: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 and Strings上的这篇精彩文章。

答案 3 :(得分:1)

我假设你想这样做:

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

答案 4 :(得分:1)

你可以尝试这个

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

printf($link, $current_page - 1, "Prev");
printf($link, $current_page + 1, "Next");