我有一个函数,它接受特定页面部分名称的字符串参数,可以是head
或body
。
该功能如下所示:
private $html = [];
public function doStuff($pageSection, array $views)
{
foreach ($views as $view) {
//Do some other stuff with view
$this->html[$pageSection] .= $view->renderOutput();
}
print_r($this->html);
}
来自renderOutput()
的{{1}}函数返回一个字符串,并没有抛出任何错误。
尝试将此字符串添加到特定数组键($view
)中的$this->html
数组时,出现以下错误:
注意:未定义索引:正文中 第35行的C:\ file.php
在下一行($pageSection
中,数组中填充了我想在右侧数组键print_r($this->html);
中添加的所有字符串。
函数get的调用如下:
body
我试图删除连接运算符并只更改数组键中的字符串,这引发了同样的错误。
这是怎么回事?因为我已经在doStuff('body', array(
//Array of views
));
部分添加了数组键。
另外,我该如何解决这个问题?
答案 0 :(得分:2)
字符串
$this->html[$pageSection] .= 'some data';
表示您将'some data'
连接到应该已存在的值。
如果您在'body'
中没有密钥$this->html
并尝试连接到它 - 您会看到通知。
您可以尝试以下内容:
foreach ($views as $view) {
//Do some other stuff with view
// init value with empty string.
if (!isset($this->html[$pageSection])) {
$this->html[$pageSection] = '';
}
$this->html[$pageSection] .= $view->renderOutput();
}