I am trying to simplify the amount of code required here using arrays, I feel like my foreach loop is still excessively long. Any advice would be appreciated.
$date_list = Array(
Array( 'age', "$birthday", 'now' ),
Array( 'membership', "$datejoined", 'now' ),
Array( 'promoted', "$lastpromo", 'now' ),
);
foreach ( $date_list as $date_set ) {
$var = $date_set[0];
$start = $date_set[1];
$end = $date_set[2];
$datetime1 = date_create($start);
$datetime2 = date_create($end);
$interval = date_diff($datetime1, $datetime2);
if ( substr_count( $var, 'age' ) > 0 ){
$age = $interval->format('%y');
}
elseif ( substr_count( $var, 'membership' ) > 0 ){
$years = $interval->format('%y');
$months = $interval->format('%m');
$membership = floor(($years*12)+$months);
if($membership > 1){
$suffix = 'Months';
}
elseif($membership == 1){
$suffix = 'Month';
}
else{
$membership = "< 1";
$suffix = 'Month';
}
}
elseif ( substr_count( $var, 'promoted' ) > 0 ){
$years = $interval->format('%y');
$months = $interval->format('%m');
$test = $interval->format('%a');
$promoted = floor(($years*12)+$months);
if($promoted > 1){
$suffix = 'Months ago';
}
elseif($promoted == 1){
$suffix = 'Month ago';
}
else{
$promoted = "< 1";
$suffix = 'ago';
}
}
}