わかりました、それは奇妙なことではありません...
これが私のコードです:
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_r
これに関する行$proj
の直前で私undefined index
が得ている結果:
配列 ( [id] => 21240 [メール] => my@gmail.com [url] => somewebsite.com [ドメイン] => another_domain [進行状況] => 198 [合計] => 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"