在我的cakephp(1.3)应用程序的控制器中,我设置了几个数组变量,当在视图中我将它们打印到错误日志时,它们被定义并显示它们的值。另外,当我记录$ this-> viewVars时 - 我看到了所有相关的变量,没有什么是错的。但是,当我尝试将这些变量作为选项传递给表单输入时,
<?php echo $this->Form->input('ages', array('options' => $ages)); ?>
它抱怨变量$ ages是未定义的 - 与其他数组变量一样。
任何人都可以深入了解这里可能发生的事情吗?我不明白如何将变量记录在一行上但是接下来它们被视为未定义? (注意PHP版本是5.3.20 - 应用程序是旧的)这是命名空间,范围等问题吗?
答案 0 :(得分:0)
首先,您需要更改代码:
发件人:强>
<?php echo $this->Form->input('ages', array('options' => $ages)); ?>
要强>
<?php
$opts=array('ages' => $ages);
echo $this->Form->input($opts);
?>
您可以通过以下方式访问年龄:
$opts['ages'];