现有指数的未定义索引?

时间:2013-07-20 09:05:48

标签: php arrays codeigniter undefined-index

好的,这不仅仅是奇怪......

这是我的代码:

public function results($id,$pattern=3)
{
    $this->load->library('session');

    if (!$this->session->userdata('logged_in'))
    {
        $this->session->set_flashdata('return_url',$this->uri->uri_string());
        redirect('log/in','refresh');
    }
    else
    {
        $this->load->model('projects');

        $proj = (array)$this->projects->getProjectById($id);

        print_r($proj);

        $progressPercentage = number_format((float)( ($proj['progress'] * 100) / $proj['total'] ), 2, '.', '');

    }
}

现在,问题在于:

  • 当NO $pattern传递给控制器​​时,整个工作正常。
  • 当我传递一些参数时,例如mysite.com/project/results/45/4(模式= 4),我收到以下错误:

    A PHP Error was encountered
    
    Severity: Notice
    
    Message: Undefined index: progress
    
    Filename: controllers/project.php
    
    Line Number: 75
    

奇怪的是,$id$pattern都是"读"细

当我print_r $proj undefined index就在关于progress这一行之前,我得到的结果是:

  

数组([id] => 21240 [email] => my@gmail.com [url] => somewebsite.com [domains] => another_domain [进度] => 198 [总计]   => 199 [别名] =>测试项目#3 [status] =>完成)

而且你可以明显地看到自己,var_dump($proj,$proj['progress']);指数完全存在。

那么问题是什么呢?这有什么奇怪的知道CI错误吗?


这是array(8) { ["id"]=> string(5) "21240" ["email"]=> string(20) "my@gmail.com" ["url"]=> string(27) "somewebsite.com" ["domains"]=> string(84) "another_domain" ["progress"]=> string(3) "198" ["total"]=> string(3) "199" ["alias"]=> string(15) "Test Project #3" ["status"]=> string(8) "complete" } string(3) "198" 给出的内容:

{{1}}

1 个答案:

答案 0 :(得分:0)

应该是这样的:

mysite.com/CONTROLLER/results/45/4