<?php
/** Ну раз запрет на использование функций, то ок. Это все на примере одного года. Для вывода по всем годам это нужно либо оборачивать в функцию и долбить в цикле, либо просто долбить в цикле. */
$years = [ 2000 , 2001 , 2002 , 2003 , 2004 , 2005 , 2006 , 2007 , 2008 , 2009 ] ;
$currentYear = 2009 ; # output = 2002 2003 (2004) 2005 2006
$count = $currentIndex = 0 ;
foreach ( $years as $year ) {
if ( $year == $currentYear ) {
$currentIndex = $count ;
}
$count ++;
}
$start = $currentIndex - 2 ;
$end = $currentIndex + 2 ;
if ( $start < 0 ) {
$end += - $start ;
$start = 0 ;
}
if ( $end > ( $count - 1 ) ) {
$start -= ( $end - ( $count - 1 ) ) ;
$end = $count - 1 ;
}
echo "{$currentYear} = " ;
for ( $i = $start ; $i < $end + 1 ; $i ++ ) {
if ( $i == $currentIndex ) {
echo " ({$currentYear} )" ;
} else {
echo " {$years [$i ]}" ;
}
}
echo "\n " ;
PD9waHAKCi8qKiDQndGDINGA0LDQtyDQt9Cw0L/RgNC10YIg0L3QsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRhNGD0L3QutGG0LjQuSwg0YLQviDQvtC6LiDQrdGC0L4g0LLRgdC1INC90LAg0L/RgNC40LzQtdGA0LUg0L7QtNC90L7Qs9C+INCz0L7QtNCwLiDQlNC70Y8g0LLRi9Cy0L7QtNCwINC/0L4g0LLRgdC10Lwg0LPQvtC00LDQvCDRjdGC0L4g0L3Rg9C20L3QviDQu9C40LHQviDQvtCx0L7RgNCw0YfQuNCy0LDRgtGMINCyINGE0YPQvdC60YbQuNGOINC4INC00L7Qu9Cx0LjRgtGMINCyINGG0LjQutC70LUsINC70LjQsdC+INC/0YDQvtGB0YLQviDQtNC+0LvQsdC40YLRjCDQsiDRhtC40LrQu9C1LiAqLwoKJHllYXJzID0gWzIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDldOwokY3VycmVudFllYXIgPSAyMDA5OyAjIG91dHB1dCA9IDIwMDIgMjAwMyAoMjAwNCkgMjAwNSAyMDA2CgokY291bnQgPSAkY3VycmVudEluZGV4ID0gMDsKCmZvcmVhY2ggKCR5ZWFycyBhcyAkeWVhcikgewogICAgaWYgKCR5ZWFyID09ICRjdXJyZW50WWVhcikgewogICAgICAgICRjdXJyZW50SW5kZXggPSAkY291bnQ7CiAgICB9CiAgICAKICAgICRjb3VudCsrOwp9Cgokc3RhcnQgPSAkY3VycmVudEluZGV4IC0gMjsKJGVuZCA9ICRjdXJyZW50SW5kZXggKyAyOwoKaWYgKCRzdGFydCA8IDApIHsKICAgICRlbmQgKz0gLSRzdGFydDsKICAgICRzdGFydCA9IDA7Cn0KCmlmICgkZW5kID4gKCRjb3VudCAtIDEpKSB7CiAgICAkc3RhcnQgLT0gKCRlbmQgLSAoJGNvdW50IC0gMSkpOwogICAgJGVuZCA9ICRjb3VudCAtIDE7Cn0KCmVjaG8gInskY3VycmVudFllYXJ9ID0gIjsKCmZvciAoJGkgPSAkc3RhcnQ7ICRpIDwgJGVuZCArIDE7ICRpKyspIHsKICAgIGlmICgkaSA9PSAkY3VycmVudEluZGV4KSB7CiAgICAgICAgZWNobyAiICh7JGN1cnJlbnRZZWFyfSkiOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICIgeyR5ZWFyc1skaV19IjsKICAgIH0KfQoKZWNobyAiXG4iOwo=