【问题标题】:Undefined Index for ... existing index?...现有索引的未定义索引?
【发布时间】:2013-07-19 14:17:07
【问题描述】:

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

这是我的代码:

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 (pattern=4),我收到以下错误:

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

奇怪的是$id$pattern 都可以“读取”。

当我 print_ring $proj 就在有关 undefined index 的行之前,我得到的结果是:

Array ( [id] => 21240 [email] => my@gmail.com [url] => somewebsite.com [domains] => another_domain [progress] => 198 [total] => 199 [别名] => 测试项目#3 [状态] => 完成)

您自己也可以清楚地看到,progress 索引就在那里。

那么,问题可能是什么?有什么奇怪的知道 CI 错误吗?


这是var_dump($proj,$proj['progress']); 给出的:

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"

【问题讨论】:

  • 如果写var_dump($proj, $proj['progress']);而不是print_r($proj);会输出什么?
  • @smhnaji 看看,我重新编辑了原来的问题。
  • 另请注意,它不仅找不到progress。它看不到 any 索引... :S
  • 我知道它很脏,但是如果你 $progress = $proj['progress']; 并在下一行的函数中使用 $progress 会发生什么?
  • 只有未定义的索引:进度?还是总索引未定义错误?

标签: php arrays codeigniter undefined-index


【解决方案1】:

应该是这样的:

mysite.com/CONTROLLER/results/45/4

【讨论】:

  • 我只是在问题中输入错误。就像你说的那样。
猜你喜欢
  • 2012-12-08
  • 2019-07-08
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
相关资源
最近更新 更多