2016-11-28 52 views
0

所以,我有對象的數組,看起來像這樣:表格日期

credit_cards[[0] => {expiration_date: {year: "17", month: "04"}] 

我嘗試做的是有些事情是這樣的:

$years = []; 
$months = []; 
$dates = []; 
foreach ($clients->settings->credit_cards as $key => $value){ 
         $years[] = $value->expiration_date->year; 
         $months[] = $value->expiration_date->month; 
        } 

我需要循環通過該陣列中的每張信用卡並製作一個數組$dates,該數組應該通過連接數年和數月形成基本日期。所以在這種情況下,它應該看起來像這樣:$dates = ['2017-04']。但我不知道如何做到這一點。歡迎任何幫助,並提供一些解釋,以便我可以瞭解未來如何做到這一點。

+0

嘗試使用'array_map' – zhon

回答

1

您可以添加少量工作的日期。創建一個可解析的字符串,代表您的月/年。然後把它放在php's strtotime()。該整數代表從曆元開始的秒數,即第二個參數,用於格式化您正在查找的四位數日期 - 月 - 月

$years[] = $value->expiration_date->year; 
$months[] = $value->expiration_date->month); 
$my = $value->expiration_date->month.'/'.$value->expiration_date->year; 
$dates[] = date('Y-m', strtotime($my)); 
1

您正在尋找的連接操作符:.More info here.)您可以構建一個格式化的日期字符串,並把它傳遞給像的strtotime WEBjuju的答案,或者直接移動到使用連接。

$years[] = $value->expiration_date->year; 
$months[] = $value->expiration_date->month; 
$dates[] = $value->expiration_date->year . '-' . $value->expiration_date->month;