2014-10-11 163 views
1

我是新來的PHP,並且正在嘗試編寫一個腳本,它以「2014年1月23日下午11:01」的形式記錄時間戳,並將它們分成一個月數組,日期,年份,小時和分鐘。這是我到目前爲止的代碼:PHP:For循環中的未定義變量

 $raw_data= array("January 20, 1993 at 10:20PM", "September 6, 1991 at 6:23PM"); 
     var_dump($raw_data); 
     $num_dates= count($raw_data); 

//Step 1: break content into month, day, year, hour, and minutes 
    for ($i=0; $i==($num_dates-1); $i++) { 
     $partial_data = implode(preg_split("/[A-Z]{2}/", $raw_data[$i])); 
     $broken_data[$i] = preg_split("/[\s,:]/", $partial_data);   
     unset($broken_data[$i][2]); 
     unset($broken_data[$i][3]); 
    } 

    var_dump($broken_data); 

代碼似乎沒有的var_dump運行良好,但是當我將其添加PHP的告訴我,$ broken_data是一個不確定的變量。任何人都可以看到我正在犯的一個明顯的新秀錯誤?

在此先感謝。

+2

從以前的問題中獲得任何知識嗎?我不這麼認爲http://stackoverflow.com/questions/26308756/formatting-php-for-loop/26308823 – Cheery 2014-10-11 00:37:05

+0

你可能沒有設置數組的所有元素。所以最後陣列完全沒有設置。 – Meer 2014-10-11 00:47:18

回答

1

更改您的循環條件以使用比較,而不是相等。

for ($i = 0; $i < ($num_dates - 1); $i++) 

您的循環內的代碼永遠不會執行,因爲循環條件在第一次嘗試時失敗。

+0

Oooo!我學會了在MatLab中用for循環表示的代碼,從i = __到i = __。我以爲我告訴循環從零開始直到(num_dates-1)。謝謝! – boulderz 2014-10-11 01:58:54