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

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

【问题讨论】:

    标签: php variables 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; 
                    

                    【讨论】:

                      猜你喜欢
                      • 2022-11-02
                      • 2016-04-24
                      • 2021-09-02
                      • 2014-01-28
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-03-02
                      • 1970-01-01
                      相关资源
                      最近更新 更多