I have an array contain n
number of elements can be 6 or 8, like that:
$langs = ["PHP", "JAVA", "Ruby", "C", "C++", "Perl"];
I would like to add one year evenly next to the elements
Desired output in case of 6 elements:
Desired output in case of 9 elements:
My try :
$date = Carbon::now();
foreach($langs as $key => $lang){
if(count($langs) % $key == 0){
echo $lang .' - '. $date->addYear();
}
}
Bump the year every time $key
is not zero and $key / 3
has no remainder.
Code: (Demo)
$langs = ["PHP", "JAVA", "Ruby", "C", "C++", "Perl", "Perl", "Python", "Javascript", "Mysql"];
$date = Carbon::now();
foreach ($langs as $key => $lang){
if ($key && $key % 3 === 0) {
$date->addYear();
}
echo $lang .' - '. $date->year . PHP_EOL;
}
To be perfectly honest, I don't see any benefit is calling a datetime wrapper for this very basic task. You can easily replace all usage of Carbon with PHP's native date()
function. (Demo)
$langs = ["PHP", "JAVA", "Ruby", "C", "C++", "Perl", "Perl", "Python", "Javascript", "Mysql"];
$year = date('Y');
foreach ($langs as $key => $lang){
if ($key && $key % 3 === 0) {
++$year;
}
echo $lang .' - '. $year . PHP_EOL;
}