Хорошо, это более чем странно …
Вот мой код:
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, '.', ''); } }
Теперь вот вопрос:
$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"