【问题标题】:Passing variable into included file [duplicate]将变量传递到包含的文件中[重复]
【发布时间】:2019-09-08 22:46:08
【问题描述】:

我做了一个简单的框架来加深我对php的理解。 在我的控制器中,我编写了以下代码来显示视图:

$varString = "test";
$varArray  = array("a", "b", "c");
include __DIR__ . './homepage.php';

真正奇怪的是,这两个变量都在 homepage.php 文件中可用,因为我可以通过 var_dump 获取它的值。 但是当我尝试使用 foreach 循环 $varArray 时,如下所示:

<? foreach($varArray as $value): ?>
<?= $value; ?>
<? endforeach; ?>

我收到以下错误,

注意:未定义的变量:值

此外,更令人困惑的是,使用 echo 回显 $varString 没有问题,如下所示:

<?= $varString; ?>

以前有人遇到过同样的问题吗? 请注意,我在 homepage.php 文件中执行所有这些操作。

【问题讨论】:

  • 有点健全性检查,如果你 var_dump($varArray); 你得到什么价值?
  • 你为什么要跳进跳出PHP?只需在第一行使用&lt;?php 并删除所有&lt;??&gt;

标签: php variables scope include


【解决方案1】:

你的问题是php短标签打开,如果你想你可以使用

<?php foreach($varArray as $value): ?>
<?php echo $value; ?>
<?php endforeach; ?>

或者你可以打开php.ini短标签。

【讨论】:

  • 你试过了吗?
  • 这解决了它!因为我可以使用 var_dump 获取所有变量,所以只有 foreach 部分是我没有启用短标签的问题。
【解决方案2】:

按如下方式完成,应该可以工作

foreach($varArray as $value){
echo $value;
}

如上尝试,应该可以正常工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多