Неопределенный индекс для … существующего индекса?

Хорошо, это более чем странно …

Вот мой код:

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 какой-то параметр, например 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_r $proj перед строкой относительно undefined index это результаты, которые я получаю:

Массив ([id] => 21240 [email] => my@gmail.com [url] => someebsite.com [domains] => another_domain [progress] => 198 [total] => 199 [alias] => Test Проект №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" 

Related of "Неопределенный индекс для … существующего индекса?"