php - 在回显字符串中插入一个变量

Posted

技术标签:

【中文标题】php - 在回显字符串中插入一个变量【英文标题】:php - insert a variable in an echo string 【发布时间】:2011-12-24 16:40:52 【问题描述】:
$i = 1
echo '
<p class="paragraph$i">
</p>
'
++i

试图将变量插入回显字符串。上面的代码不起作用。如何将 php 变量迭代为 echo 字符串?

【问题讨论】:

【参考方案1】:

单引号不会解析其中的 PHP 变量。使用双引号或使用点来扩展回声。

$variableName = 'Ralph';
echo 'Hello '.$variableName.'!';

echo "Hello $variableName!";

在你的情况下:

$i = 1;
echo '<p class="paragraph'.$i.'"></p>';
++i;

$i = 1;
echo "<p class='paragraph$i'></p>";
++i;

【讨论】:

我想只有第一个适用于我的实例,因为变量没有与单词分开。 不,没关系,因为第二个不会在“段落”和变量输出之间输出任何空格。 第三名对我来说很有效。但我确实理解双引号和单引号之间的区别。只是我正在编辑一个开源程序以进行一些小的自定义,并且我不想过多地更改格式。【参考方案2】:

在字符串中使用变量时始终使用双引号,并反斜杠除开头和结尾的任何其他双引号。您也可以使用如下方括号,以便更轻松地在字符串中找到变量并使它们看起来更清晰。

$var = 'my variable';
echo "I love $var";

$var = 'my variable';
echo "I love $var";

Above 将返回以下内容:I love my variable

【讨论】:

【参考方案3】:

变量插值不会发生在单引号中。您需要使用双引号作为:

$i = 1
echo "<p class=\"paragraph$i\"></p>";
++i;

【讨论】:

【参考方案4】:
echo '<p class="paragraph'.$i.'"></p>'

应该可以解决问题。

【讨论】:

【参考方案5】:
echo '<p class="paragrah"' . $i . '">'

【讨论】:

【参考方案6】:
echo '<p class="paragraph'.$i.'"></p>';

【讨论】:

【参考方案7】:

这里有 3 种最佳方法。

方法一:

$x = '+3';
echo "1+2$x";

双引号 (") 允许您直接在其中传递变量。


方法二:

$x = '+3';
echo '1+2'.$x;

当您出于某种原因不想使用双引号时,请使用此方法。 (.) 基本上只是意味着“添加”。因此,如果您想添加类似 1+2+3+4+5 的内容并将变量放在中间,您需要做的就是:

$x = '+3';
echo '1+2'.$x.'+4+5';

方法三:(直接在被调用变量内部添加变量)

$x = '+3';
$y = '+4';
$z = '+5';
echo "1+2$"x".$y.$z";
Output: 1+2+3+4+5

在这里,我们使用"."$y$z 添加到$x 在渲染未定义之前优先考虑其中的工作 变量。

个人觉得这是一个非常有用的函数,可以调用如下函数:

//Add the Get request to a variable.
$x = $_GET['tool'];

//Edit: If you want this if to contain multiple $xresult's change the if's
//Conditon in the "()" to isset($get). Simple. Now just add $xresultprogram
//or whatever.
if($x == 'app') 
    $xresultapp = 'User requested tool: App';


//Somewhere down far in html maybe...

echo $"xresult".$x; // so this outputs: $xresultapp's value

//Note: doing $"xresult".$_GET['tool'] directly wont work.
//I believe this is because since some direct non-echo html was loaded
//before we got to this php section it cant load cause it has already
//Started loading client side HTML and JS.

如果 url 查询是:example.com?tool=app,这将输出 $xresultapp 的“用户请求的工具:应用程序”。您可以使用 else 语句进行修改,以定义在请求“app”以外的某个值时会发生什么。请记住,所有内容都区分大小写,因此如果他们请求大写的“App”,则不会输出$xresultapp

【讨论】:

【参考方案8】:

使用双引号:

$i = 1;
echo "
<p class=\"paragraph$i\">
</p>
";
++i;

【讨论】:

【参考方案9】:
$i = 1;

echo "<p class='paragraph$i'></p>"; 

$i++;

【讨论】:

【参考方案10】:

你可以试试这个

$i = 1
echo '<p class="paragraph'.$i.'"></p>';
++i; 

【讨论】:

以上是关于php - 在回显字符串中插入一个变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP“回声”中插入带有撇号和其他特殊字符的文本? [复制]

php只回显变量字符串的前20个字符

如何将 html 和 php 代码存储在要回显到 html 页面的 php 变量中

如何以在 php 中作为字符串回显的形式填充单选按钮?

如何在回显价格之前添加£符号[关闭]

如何从数据库中回显具有特定变量的行