PHP Codeigniter:$ data变量可在print_r中查看,但直接访问提供了未定义的索引'错误

时间:2014-04-14 21:35:49

标签: php codeigniter

请参阅控制器代码的最后一个代码块。当我在视图中使用下面的行时,它返回属性数组中的所有变量:

<?php echo print_r($property);?>

但是,当我想从$ property数组中只访问一个项目时,我得到一个未定义的索引错误:

<?php echo print_r($property['county']);?> 

这是一个var_dump($ property)

array (size=1)
  0 => 
    array (size=6)
      'property_id' => string '1' (length=1)
      'address1' => string '26 College Green Walk' (length=21)
      'town_city' => string 'Derby' (length=5)
      'county' => string 'Derbyshire' (length=10)
      'property_description' => string '<p>
    This is a property description for a rental property in Mickleover. Very nice it is too!</p>
' (length=100)
      'property_images_filepath' => string 'ee736-6.jpg' (length=11) 

任何人都可以指出要去哪看,因为我很难过!?

控制器:

public function __construct()
{
    parent::__construct();
    $this->load->model('agency_model');


    $this->output->enable_profiler(TRUE);
}



/**
 * Shows the details of the property specified by the $id parameter
 * @param string $id the id of the property to be retrieved from the DB
 */
public function show () {


$id = $this->input->get('property_id');


    if (!isset($id)) 
    {

        // Whoops, we don't have a page for that!
        show_404();
    }


    else

    {

        $data['property'] = $this->agency_model->get_property_details($id);
        $data['title'] = 'Current Properties';

        $this->load->view('templates/header', $data);
        $this->load->view('agency/property_details_view', $data);
        $this->load->view('templates/footer');
    }

}

}

由于 加雷

4 个答案:

答案 0 :(得分:1)

试试这个。 您的数组在控制器中是这样的

$data['info'] = array(
    'col_1' => "first_1",
     'col_2'=>  "first_2"
);
$this->load->view('folder/page',$data);

然后在视图中你可以像这样访问它。

echo $info['col_1'];
echo $info['col_1'];

如果它是多个记录数组,您将使用

foreach($info as $row)
{
 //your code/statements.
}

答案 1 :(得分:0)

我认为这是语法错误,你的意思是:

<?php echo print_r($property['country');?>  

而不是:

<?php echo print_r($property['county');?>  

答案 2 :(得分:0)

我怀疑这会给你你想要的东西

 foreach ($property as $properties)
     print_r($properties['county']);
 endforeach;

答案 3 :(得分:0)

很容易错过,但以下内容可行。

<?php echo print_r( $property[ 0 ]['county'] ); ?> 

当你做了var_dump时,我注意到有一个数组索引。