mr_moon: erster Wochentag im Kalender

hi
hab mich nun an ein kalender thema herangewagt.
schließlich kam ich zu folgender anzeige funktion:
function create_calendar($month,$year,$arrdate)
{
 $days=array('Su','Mo','Tu','We','Th','Fr','Sa');
 $firstDayOfMonth=mktime(0,0,0,$month,1,$year);
 $numberDays=date('t',$firstDayOfMonth);
 $dateComponents=getdate($firstDayOfMonth);
 $monthName=$dateComponents['month'];
 $dayOfWeek=$dateComponents['wday'];
 $calendar="<table class='calendar'>";
 $calendar.="<caption>$monthName, $year</caption>";
 $calendar.="<tr>";
 foreach($days as $day)
 {
  $calendar.="<th class='header'>$day</th>";
 }
 $currentDay=1;
 $calendar.="</tr><tr>";
 if ($dayOfWeek > 0)
 {
  $calendar.="<td colspan='$dayOfWeek'>&nbsp;</td>";
 }
 while ($currentDay <= $numberDays)
 {
  if ($dayOfWeek == 7)
  {
   $dayOfWeek=0;
   $calendar.="</tr><tr>";
  }
  if (@in_array($currentDay,$arrdate))
  {
   $date="$year-$month-$currentDay";
   $calendar.="
   <td class='linkedday'><a href='./?date=$date' class='calendarlink'>$currentDay</a></td>";
  }
  else
  {
   $calendar.="<td class='day'>$currentDay</td>";
  }
  $currentDay++;
  $dayOfWeek++;
 }
 if ($dayOfWeek != 7)
 {
  $remainingDays=7-$dayOfWeek;
  $calendar.="<td colspan='$remainingDays'>&nbsp;</td>";
 }
 $calendar.="</table>";
 return $calendar;
}

doch ein problem hab ich dabei: wenn ich den array verändere
=> $days=array('Mo','Tu','We','Th','Fr','Sa','Su');
also statt sonntag ist dann montag der erste tag der woche,
dann müsste ich noch irgendwo was ändern.
könnt Ihr mir bitte sagen, welche zeile?
denn irgendwie hab ich nur die bezeichnungen der wochentage vertauscht :(
thx

  1. Hallo,

    sieh dir bitte die Funktionsbeschreibung für date() an. Der Parameter "D" regelt alles für Dich.

    Gruß aus Berlin!
    eddi

    1. Hallo,
      Der Parameter "D" regelt alles für Dich.

      auch wenn ich nur ungern wiederspreche, glaube ich nicht, dass Du mein problem erkannt hast. ich will nicht jeden einzelnen tag prüfen, zu welchem wochentag er gehört, sondern will irgendwie die funktion so anpassen, dass alles um einen tag versetzt ist bzw. wie es in unseren breitengraden üblich ist, dass montag der erste wochentag ist. die funktion erzeugt eine kalender tabelle, bei der in der 1. spalte die sonntage stehen. die überschrift der 1.spalte konnte ich einfach mit dem array ändern. aber nicht die schleife, die die tage "setzt".
      danke für weitere tipps

      1. Re:

        $dayOfWeek=$dateComponents['wday'];

        $dayOfWeek=$dateComponents['wday']-1;

        Gruß aus Berlin!
        eddi