Dude: Zeitraum bei Array: Anfang und Ende finden?

Beitrag lesen

hi leute,

ich habe ein array
Array
(
    [0] => 2006-12-02
    [1] => 2006-12-03
    [2] => 2006-12-04
    [3] => 2006-12-05
    [4] => 2006-12-16
    [5] => 2006-12-17
    [6] => 2006-12-18
)

und eine variable
$bericht = "2006-12-03"

ich will nun das anfangs- und enddatum des zeitraums haben.

Das wäre hier:
    [0] => 2006-12-02
...
    [3] => 2006-12-05

Wie komme ich zu diesem Ergebnis?

Vielen Dank
dude

Folgender Versuch:

position von dem gesuchtem im array zu finden
$gesuchtedatum="2006-12-03";
$pos;
for($i=0;$i<count($array);$i++){
if($gesuchtedatum==$array[$i]){$pos=$i; break;}
}

schleife von dem gefundener stelle nach unten laufen, so lange der datumswert sich nur in ein Tag abweicht.
$start="";
$laufdatum=$gesuchtedatum;
$tag=1;
for($i=$pos-1;$i>=0;$i--){
if(date("Y-m-d",strtotime($laufdatum." -".($tag++)." days"))==$array[$i]){
$laufdatum=$array[$i];
}else{
$start=$i+1;
break;
}
}

und das selbe nach oben laufen lassen.
$ende="";
$laufdatum=$gesuchtedatum;
$tag=1;
for($i=$pos+1;$i<count($array);$i++){
if(date("Y-m-d",strtotime($laufdatum." +".($tag++)." days"))==$array[$i]){
$laufdatum=$array[$i];
}else{
$ende=$i-1;
break;
}
}

Fehlerhaftes Ergebnis:

die ergebnisse:        $pos      $array[$start]    $array[$ende]
    [0] => 2006-12-01  "0"        ""                "2006-12-02"
    [1] => 2006-12-02  "1"        ""                "2006-12-03"
    [2] => 2006-12-03  "2"        "2006-12-02"      "2006-12-04"
    [3] => 2006-12-04  "3"        "2006-12-03"      "2006-12-04"