【问题标题】:Echoing PHP variables returns the variable name, not the variable value回显 PHP 变量返回变量名,而不是变量值
【发布时间】:2014-07-07 16:14:37
【问题描述】:

我正在创建一个网站,将网站的基本代码存储在 PHP 函数中,这样我就不必一遍又一遍地写出基本代码。在我的 index.php 页面中,我让它调用一个名为 head 的函数并传入几个变量。

这是我的 index.php 页面代码:

<?php
    include "base.php";
    head("Home");
?>

它包括文件base.php,其中有函数头。

这是头部函数:

<?
    function head($title) {
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title><?="$title | BASE"?></title>
        <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
        <link rel="stylesheet" type="text/css" href="css/main.css">
    </head>
</html>
<?php
    }
?>

如您所见,head 函数要求一个名为 $title 的变量,该变量在 index.php 中作为“Home”传入。当页面执行时,而不是Home | Base 显示为标题,标题显示为&lt;?="$title | BASE"?&gt;。这是为什么?我需要将标题显示为Home | Base,但我不知道为什么它没有显示为那样。

【问题讨论】:

  • 您想在其中渲染一些 html-block 传递变量吗?你做错了!
  • 除非您使用的是 PHP 5.4+,OR 启用了 short_open_tags,然后&lt;?= 不可用并且不会触发“PHP 模式”。
  • 如果我做错了,我该怎么做?为什么我被否决了
  • 另外,我使用了 和 echo,它仍然无法正常工作。
  • 要正确实现它,您需要 include() 函数内的那个 html 块,传递变量数组

标签: php echo title


【解决方案1】:

您需要启用 short_open_tag 才能在以前的 PHP 版本中使用 &lt;?= $var; ?&gt; 语法(如果您使用 PHP 5.4 之前的版本)。

当然你可以简单地使用标准的 PHP 语法,这样你就可以改变

<?="$title | BASE"?>

进入

<?php echo "$title | BASE"; ?>

如果您使用 PHP short_open_tag 启用

【讨论】:

    【解决方案2】:

    将 $title 变量放在花括号中:&lt;?= echo "{$title} | Base"; ?&gt; 或使用. 连接&lt;?= $title . " | Base"; ?&gt;

    这将解析变量值而不是回显名称。只需将变量名放在引号中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 2019-12-14
      相关资源
      最近更新 更多