PHP变量重写
P粉933003350
P粉933003350 2024-01-10 17:56:17
0
1
449

在 header.php 中,有一个变量 $title 定义在同一位置(取决于页面的 URL)。在其中一个内页中,我想覆盖 $title,因为它是从那里的数据库中获取的。例如:在header.php中有

if (...) {$title = "Section 1";}

然后 echo $title

在inner.php中-

include(header.php); ... SELECT .....

$title = "Page 1";

这当然是行不通的。尝试使用全局但没有成功。如何重写inner.php(header.php)中的$title变量?感谢您的建议,我对 PHP 不太了解。

尝试使用全局甚至函数,但不确定

P粉933003350
P粉933003350

全部回复(1)
P粉204079743

计算机会按照你告诉它们的顺序执行你告诉它们的事情。如果你这样说:

  1. 将标题设置为“第 1 节”。
  2. 读出标题。
  3. 将标题设置为“第 1 页”。

计算机将依次执行每个步骤。在第 2 步,它将读出“第 1 部分”,并且第 3 步无法使其“不说”并说出不同的内容。

这基本上就是您当前代码正在做的事情,中间有一些额外的步骤:

  1. 包含“header.php”
  2. (在 header.php 中)根据 URL 将标题设置为“第 1 节”
  3. (在 header.php 中)显示标题
  4. 使用数据库做一些事情
  5. 将标题设置为“第 1 页”
  6. 显示页面的其余部分

步骤 5 无法影响步骤 3;这已经发生了。

避免这种情况的通常方法是将程序分为两个阶段:第一阶段准备数据,从数据库中获取数据,做出有关页面标题等内容的决策;第二阶段显示数据,仅根据已获取的数据做出决策。

因此,在您的情况下,您可以将“header.php”的数据部分拆分为单独的“startup.php”,步骤如下所示:

  1. 包含“startup.php”
  2. (在startup.php中)根据URL将标题设置为“第1节”
  3. 使用数据库做一些事情
  4. 将标题设置为“第 1 页”
  5. 包含“header.php”
  6. (在 header.php 中)显示标题
  7. 显示页面的其余部分

现在,标题中的标题会在所有逻辑运行后显示,并且可以显示为“第 1 页”而不是“第 1 节”。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!