【问题标题】:Insert PHP functions in a variable [closed]在变量中插入PHP函数[关闭]
【发布时间】:2013-09-19 19:12:41
【问题描述】:

我需要插入

<?php if (isset($_GET["marke"])) { echo "?marke="; echo $_GET["marke"]; echo "&farbe=gelb"; } else { echo "?farbe=gelb"; } ?>

到一个变量中。

当然

<?php
$var = if (isset($_GET["marke"])) { echo "?marke="; echo $_GET["marke"]; echo "&farbe=gelb"; } else { echo "?farbe=gelb"; }
?>

 <?php
echo $var;
?>

不工作 ^^ 正确的代码是什么样的?

【问题讨论】:

  • 我不明白您所说的“将 插入变量”是什么意思。你期望输出是什么?
  • 我要去做了:D
  • 我需要等待 8 分钟才能为正确的 cmets 投票
  • if() 不是函数,没有返回值。你可以那样做。

标签: php function mixing


【解决方案1】:

您必须初始化 var 并连接字符串:

$var = "?";
if (isset($_GET["marke"])) {
    $var .= "marke=" . $_GET["marke"] . "&";
}
$var .= "farbe=gelb";

然后:

echo $var;

【讨论】:

    【解决方案2】:

    你不需要使用函数;只需使用 三元运算符

    $var = (isset($_GET["marke"])) ? "?marke=" . $_GET["marke"] . "&farbe=gelb" : "?farbe=gelb";
    

    【讨论】:

    • 我没有看到函数...但是echo在设置变量时不是必需的。
    • 问题的标题提到“在变量中插入函数”。而且我没有在这个示例中回应任何内容......
    • 哦,明白了——我在标题中看到了“功能”。您是在暗示要求一个功能是错误的。关于echo,我指的是OP使用echo,而不是你的。
    • 考虑到对基本语法的整体理解,不确定其中包含“功能”的标题是否相关。即,他们可能实际上并不想要功能
    【解决方案3】:

    如果您只是尝试在设置了 GET 的情况下将数据设置为变量,并且如果未设置为其他值,请使用:

    if (isset($_GET["marke"])) 
      {
        $var = "?marke=".$_GET['marke']."&farbe=gelb";
      }
    else
      {
        $var = "?farbe=gelb";
      }
    

    但请记住在将 GET 数据与 mysql 等一起使用之前验证它,以确保它是您允许的。

    【讨论】:

      【解决方案4】:

      假设你想将输出保存到一个变量中,然后在再次输出变量之前做一些事情,你可以这样做:

      <?php
      $var = if (isset($_GET["marke"])) { echo "?marke="; echo $_GET["marke"]; echo "&farbe=gelb"; } else { echo "?farbe=gelb"; 
      
      echo <<<_END
      <html>
      //write something here
      </html>
      _END;
      
      echo $var;
      ?>
      

      希望有帮助!

      【讨论】:

      • 该代码在当前形式下似乎无效。
      • 编辑了代码并附加了一个 ;在_END结束
      • 是的,三元运算符会是一种更聪明、更合理的方法。我认为问题是他是否可以在结束标记之后维护变量的内容,并在页面的其他地方使用相同的变量。
      猜你喜欢
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 2015-03-24
      相关资源
      最近更新 更多