2015-11-18 77 views
-1

我收到以下錯誤笨一個PHP錯誤遇到

遇到

一個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]); 
} 

,並從該

第一proccess

有什麼問題?

+0

最後一行「$ arr [3]」失敗,因爲數組「$ arr」沒有足夠的項目。恐怕我不能再做任何幫助,因爲它完全取決於'$ str'的結果。 – Jaap

回答

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]);

+0

和錯誤更改抵消:2 – Tom

+0

$ str的值是什麼? –

+0

var_dump($ arr)&在這裏發佈 –

0

你只是簡單地假設你正在爆炸一個數組的字符串將有4個部分。像「我的尼斯串」這樣的字符串將以數組結尾(「My」,「Nice」,「String」);其中索引0的值爲「我的」,索引1的值爲「尼斯」,索引2的值爲「字符串」。

請注意,數組索引是從零開始的,這意味着第一個元素將正常