Codeigniter遇到PHP错误

时间:2015-11-18 22:39:03

标签: php codeigniter undefined

我收到以下错误

  

遇到PHP错误严重性:通知消息:未定义   偏移量:3

最后一行的错误

private function date_conversion($str){
  $this->lang->load('calendar');
    $arr = explode(' ', $str);
    $month = array(
        $this->lang->line('cal_january') => '01', $this->lang->line('cal_february') => '02', $this->lang->line('cal_march') => '03', 
        $this->lang->line('cal_april') => '04', $this->lang->line('cal_may') => '05', $this->lang->line('cal_june') => '06', 
        $this->lang->line('cal_july') => '07', $this->lang->line('cal_august') => '08', $this->lang->line('cal_september') => '09', 
        $this->lang->line('cal_october') => '10', $this->lang->line('cal_november') => '11', $this->lang->line('cal_december') => '12', 
    );
    return $arr[3].'-'.$month[$arr[2]].'-'.($arr[1]<10?'0'.$arr[1]:$arr[1]);
 }

和来自这个

的第一个过程
'date_of_birth'=>$field['adult']['date_of_birth']?$this->date_conversion($this->input->post('adult_date_of_birth_'.$i)):NULL,

有什么问题?

2 个答案:

答案 0 :(得分:0)

可能$ arr没有索引3,如果你知道它只有3个元素那么那将是索引2

变化: return $arr[3].'-'.$month[$arr[2]].'-'.($arr[1]<10?'0'.$arr[1]:$arr[1]);

为: return $arr[2].'-'.$month[$arr[1]].'-'.($arr[0]<10?'0'.$arr[0]:$arr[0]);

答案 1 :(得分:0)

您只是假设您要爆炸到阵列的字符串将包含4个部分。像#34; My Nice String&#34;将最终成为一个数组(&#34;我的&#34;,&#34;尼斯&#34;,&#34;字符串&#34;);其中索引0的值为&#34;我的&#34;,索引1的值为&#34;尼斯,索引2的值为&#34;字符串&#34;。

注意,数组索引是从零开始的,这意味着第一个元素通常以索引0开始,而不是1.除非数组的定义不同。