从foreach循环到对象的表单日期

时间:2016-11-28 21:07:23

标签: php arrays object foreach

所以我有一个对象数组,如下所示:

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']。但我不知道该怎么做。欢迎任何帮助和一些解释,如果你可以这样我将来可以理解如何做到这一点。

2 个答案:

答案 0 :(得分: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 :(得分: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;