我的控制器中有这个代码段:
// load model
$this->load->model('article');
$data['article'] = $this->article->get_data_article();
// add more array in data['article']
$data['article'][] = array( 'newcontent' => 'dummy string' );
$this->load->view('index',$data);
然后我有2个视图,首先是index.php:
$this->load->view('content',$article[0]);
第二个视图是content.php:
<?php echo $title;?> <br>
<?php echo $newcontent;?>
我上面的第二行有错误。错误消息是:
Severity: Notice
Message: Undefined variable: newcontent
Filename: views/content.php
我的代码出了什么问题?
答案 0 :(得分:0)
你必须这样显示,
echo $article[0]['newcontent'];
因为您已将其创建为二维数组。
答案 1 :(得分:0)
这是正确的方法。
$data['article']['article1'] = array( 'newcontent' => 'dummy string' );
$data['article']['article2'] = $this->article->get_data_article();
在视野中
echo '<pre>';
print_R($article1);
echo '<pre>';
print_R($article2);
现在你可以访问了。数字数组导致问题将数据传递给视图。使用索引数组。
编辑:
您可以将其传递给像这样的视图
$this->load->view('content',$data);
现在在视图中你有$ article。
echo '<pre>';
print_R($article);
如果你在文章上应用php extract 提取物($条); 您将可以访问
echo '<pre>';
print_R($article1);
echo '<pre>';
print_R($article2);
但每种方式都是这样做的 控制器
$data['article1'] = array( 'newcontent' => 'dummy string' );
$data['article2'] = $this->article->get_data_article();
将其传递给视图
$this->load->view('content',$data);
并像这样访问
echo '<pre>';
print_r($article1);
echo '<pre>';
print_r($article2);
无需提取
更多编辑:
你可以这样做
$result['article1'] = array( 'newcontent' => 'dummy string' );
$this->load->view('content',$result);
$result1['article2'] = $this->article->get_data_article();
$this->load->view('index',$result1);