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“回声”中插入带有撇号和其他特殊字符的文本? [复制]