我查看了过去的答案,并被引导相信头文件中分配的 PHP 变量是全局的。我必须 然后做错事。这是我的代码的简化版本:
这是我的 myGlobals.php 文件:
<?php
$NAMELABEL = "Name";
?>
这是文件index.php,它“需要”myGlobals.php,然后调用第三个php文件中的函数
<?php
require_once 'myGlobals.php';
require_once 'DisplayRecords.php';
displayRecords();
?>
这是 DisplayRecords.php
<?php
function displayRecords()
{
echo '<table border="1">';
echo '<tr>';
echo '<th>' . $NAMELABEL . '</th>';
echo '</tr>';
echo "</table>";
}
?>
这是高度简化的,只有导致错误的代码。
错误消息。我运行时得到的是:
Notice: Undefined variable: NAMELABEL in C:\xampp\htdocs\fbreverse\DisplayRecords.php on line 29
现在,在我更改为全局变量 $NAMELABEL 之前 - 我使用了它并且运行良好:
echo '<th>Name</th>';
“精细”是指该表已创建,并且它的列上有一个名为 Name 的标题。
注意:在上面的 html 标签周围使用单引号是允许的,如果您使用双引号字符串,则需要使用单引号
在标签中,就像我在 echo '<table border="1">'
中所做的那样——所以我只是保持一致并坚持使用单引号。
将上面的示例更改为
echo "<th>" . $NAMELABEL . "</th>";
零差异,相同的错误消息,注意: undefined variable :NAMELABEL in C:\xampp\ht........blah blah
为什么不是 $NAMELABEL
在函数 displayRecords()
中可见在 DisplayRecords.php 内?
最佳答案
您需要在函数顶部添加...
global $NAMELABEL;
这将使 $NAMELABEL
在您的函数内部可用。
但是全局变量应该最小化。你能重构你的代码吗?
关于php - PHP 变量的全局访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287168/