2017-06-23 35 views
0

我有多個日期來計算數據庫。它們被提取並存儲在一個數組中。使用列表()構造陣列

如何爲每個返回的值設置變量,因爲我不知道有多少日期被返回?

這裏是我試過到目前爲止:

$get_status = $truckerController->status($gid); 
$active_days = 0; 
$active_d = array(); 
foreach ($get_status as $trucker) { 
$active_d[] = $trucker->date; 
} 
list($date1, $date2) = $active_d; 

所以,我想要的是有內部list()超過兩個或三個參數基於陣列值的大小。請幫助我或建議其他方式來處理此問題。

+1

*「我怎樣才能爲每個返回值的變量,因爲我不知道怎麼的日期很多都返回」 * - 你怎麼打算使用生成的變量既然你不知道他們會有多少人會被退回?數組就是解決方案,因爲這是數組的目的:存儲一個類似值的列表,而不關心它們的數量。 – axiac

+0

爲什麼你想要製作一個數組中所有項目的變量?似乎不是最佳實踐。沒有list()方法來解決你的問題嗎? – moffeltje

+0

我正在計算日期。活動日期從2017-05-03開始並在2017-05-23上暫停。所以需要從2017-05-01 - 2017-05-30開始活動多少天。所以我想要答案是13天。我怎樣才能達到這個計算。我用date_create()和date_diff(),但我沒有得到正確的答案。請看看:https://stackoverflow.com/questions/44602015/count-number-of-active-days-form-database/44602188?noredirect=1#comment76192022_44602188 – DNeb

回答

0

不知道整個方法是否正確,但你可以嘗試這樣的事情。

$get_status = $truckerController->status($gid); 
$active_days = 0; 
$active_d = array(); 
$i = 0; 
foreach ($get_status as $trucker) { 
    $i++; 
    $active_d["date".$i] = $trucker->date; 
} 
extract($active_d); 

http://php.net/manual/en/function.extract.php