Variablen in function

Variablen in function | PSD-Tutorials.de

Erstellt von mobbytec, 02.10.2019.

  1. mobbytec

    mobbytec Aktives Mitglied

    Dabei seit:
    20.04.2011
    Beiträge:
    444
    Geschlecht:
    männlich
    Software:
    InDesign, Photoshop (CC2018), MacOS
    Variablen in function
    Hallo,
    ich würde gern dieses Beispiel zur Berechnung von Feiertagen anpassen: http://wiki.butzhammer.de/Feiertage_über_PHP_ermitteln
    Der Teil
    Code (PHP):
    1. elseif ($datum[1].$datum[2] == '0106'
    2.        && ($bundesland == 'BW' || $bundesland == 'BY' || $bundesland == 'ST'))
    3.    {
    4.        return 'Heilige Drei Könige';
    5.    }
    gibt den Namen des Feiertag aus. Nun möchte ich die Bundesländer in einer Variablen ausgeben (die in einer array vorhanden sind).
    Also z.B.
    Code (PHP):
    1. $ListeBL = $bundesland['BW] . ', ' . $bundesland['BY];
    Außerhalb der Funktion wird mir aber echo $ListeBL nicht angezeigt, mit
    Code (PHP):
    1. function feiertag($datum, $ListeBL)
    wird mir auch nichts angezeigt.
    Könnt ihr da helfen?
     
    #1      
  2. TutKit

    TutKit Vollzugriff

    Vollzugriff auf sämtliche Inhalte für Photoshop, InDesign, Affinity, 3D, Video & Office

    Suchst du einen effektiven Weg, um deine Geschäftsideen aber auch persönlichen Kenntnisse zu fördern? Teste unsere Lösung mit Vollzugriff auf Tutorials und Vorlagen/Erweiterungen, die dich schneller zum Ziel bringen. Klicke jetzt hier und teste uns kostenlos!

  3. Myhar

    Myhar Hat es drauf

    Dabei seit:
    01.11.2007
    Beiträge:
    2.229
    Geschlecht:
    männlich
    Ort:
    Ö
    Variablen in function
    Du hast einen Sytnaxfehler in deiner $ListeBL Variable.
    Code (Text):
    1.  
    2. ['BW']
    3.  
    Du schließt das zweite ' nicht. Ob dass das Problem behebt weiß ich nicht, aber es ist zumindest ein Anfang. Auch wird hier reichlich wenig Code gezeigt, wo wird die Liste definiert? Wo ist diese überall gültig? Was gibt die feiertage() Funktion überhaupt zurück?
     
    #2      
  4. mobbytec

    mobbytec Aktives Mitglied

    Dabei seit:
    20.04.2011
    Beiträge:
    444
    Geschlecht:
    männlich
    Software:
    InDesign, Photoshop (CC2018), MacOS
    Variablen in function
    Danke für die Antwort, war ein Tippfehler hier im Forum. Hier mal der gesamte Code:
    Code (PHP):
    1.  
    2. <?php
    3. include 'settings/function.php';
    4.  
    5. $y = htmlspecialchars($_GET["jahr"]);
    6. $bl = htmlspecialchars($_GET["bl"]);
    7.  
    8. if (is_int(intval($y))) {
    9.     $jahr = intval($y);
    10. } else {
    11.     $jahr = date($y);
    12. }
    13. $advent1 = date("d.m", strtotime("+1 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    14. $advent2 = date("d.m.Y", strtotime("+2 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    15. $advent3 = date("d.m.Y", strtotime("+3 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    16. $advent4 = date("d.m.Y", strtotime("+4 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    17.  
    18. $bl = array(
    19.     'BW' => 'Baden-Württemberg',
    20.     'BY' => 'Bayern',
    21.     'BE' => 'Berlin',
    22.     'BB' => 'Brandenburg',
    23.     'HB' => 'Bremen',
    24.     'HH' => 'Hamburg',
    25.     'HE' => 'Hessen',
    26.     'MV' => 'Mecklenburg-Vorpommern',
    27.     'NI' => 'Niedersachsen',
    28.     'NW' => ' Nordrhein-Westfalen',
    29.     'RP' => 'Rheinland-Pfalz',
    30.     'SL' => 'Saarland',
    31.     'SN' => 'Sachsen',
    32.     'ST' => 'Sachsen-Anhalt',
    33.     'SH' => 'Schleswig-Holstein',
    34.     'TH' => 'Thüringen',
    35. );
    36. ?>
    37.  
    38. <!--Kalender gesamt -->
    39.  
    40. <?php
    41. setLocale(LC_ALL, "de_DE", "german");
    42. for ($monat = 1; $monat <= 12; $monat++) {
    43.     echo $monat.'<br>';
    44.     for ($tag = 1; $tag <= 31; $tag++) {
    45.  
    46.         if (checkdate($monat, $tag, date($y))) {
    47.             //https://www.php.net/manual/de/function.strftime.php
    48.             $day = iconv("", "UTF-8", strftime("%d", mktime(0, 0, 0, $monat, $tag, date($y))));
    49.             $mon = iconv("", "UTF-8", strftime("%m", mktime(0, 0, 0, $monat, $tag, date($y))));
    50.             $year = iconv("", "UTF-8", strftime("%Y", mktime(0, 0, 0, $monat, $tag, date($y))));
    51.             $weekday = iconv("", "UTF-8", strftime("%A", mktime(0, 0, 0, $monat, $tag, date($y))));
    52.             $mon_txt = iconv("", "UTF-8", strftime("%B", mktime(0, 0, 0, $monat, $tag, date($y))));
    53.             $date_kurz = $day . '.' . $mon;
    54.             echo $weekday . ', ' . $date_kurz . ' | ';
    55.             echo feiertag($date_kurz) . ' | ';
    56.             echo '<br/>';
    57.         }
    58.     }
    59.     echo '<b>' . ($mon_txt) . '</b><br>';
    60. }
    61. ?>
    62.  
    und die Function
    Code (PHP):
    1.  
    2. <?php
    3.  
    4. function feiertag($date_kurz)
    5. {
    6.    
    7.     $y = htmlspecialchars($_GET["jahr"]);
    8.     $bl = htmlspecialchars($_GET["bl"]);
    9.     if (is_int(intval($y))) {
    10.         $jahr = intval($y);
    11.     } else {
    12.         $jahr = date($y);
    13.     }
    14.     $advent1 = date("d.m", strtotime("+1 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    15.     $advent2 = date("d.m", strtotime("+2 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    16.     $advent3 = date("d.m", strtotime("+3 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    17.     $advent4 = date("d.m", strtotime("+4 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    18.     $advent4_d = date("d", strtotime("+4 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    19.     $advent4_m = date("m", strtotime("+4 sunday", mktime(0, 0, 0, 11, 27, $jahr)));
    20.  
    21.     $day = iconv("", "UTF-8", strftime("%d", mktime(0, 0, 0, $monat, $tag, date($y))));
    22.     $mon = iconv("", "UTF-8", strftime("%m", mktime(0, 0, 0, $monat, $tag, date($y))));
    23.     $monat_t = $day.$mon;
    24.  
    25.    $xjahr = $y;
    26.  
    27.    // --------------------------
    28.    $yhour    = 0;
    29.    $yminute  = 0;
    30.    $ysecond  = 0;
    31.    $ymonth   = 3;
    32.    
    33.    $abstanday = easter_days($xjahr);  // Abstand der Tage zu 21. März
    34.    
    35.    $ytage = ( 21 + $abstanday );
    36.    
    37.    // --- Wenn Ergebnis >= 31 dann umrechnen und im April = Monat 4
    38.    if ($ytage >= 31) { $ytage = ($ytage-31); $ymonth = 4; }
    39.    
    40.    // ---- timestamp zum Datum erstellen
    41.    $tmpzeit = mktime($yhour, $yminute, $ysecond, $ymonth, $ytage, $xjahr);
    42.    $ostersonntag1 = $tmpzeit;
    43.    $easter = date('d.m',$ostersonntag1);
    44.    $easter_d = date('d',$ostersonntag1);
    45.    $easter_m = date('m',$ostersonntag1);
    46.  
    47.  
    48.  
    49. //Feiertage bearbeiten = Liste aller BL
    50.     if ($date_kurz == '01.01') {
    51.         echo 'Neujahr';  
    52.         $ListeBL = $bl['BW'];
    53.  
    54.     }
    55.     elseif ($date_kurz == '06.01'
    56.         //&& ($bl == 'BW' || $bl == 'BY' || $bl == 'ST')
    57.         )
    58.     {
    59.         echo 'Heilige Drei Könige';
    60.     }
    61.     elseif ($date_kurz == date("d.m",mktime(0,0,0,$easter_m,$easter_d -2,$mon)))
    62.     {
    63.         echo 'Karfreitag';
    64.     }
    65.     elseif ($date_kurz == $easter)
    66.     {
    67.         echo 'Ostersonntag';
    68.     }
    69.     elseif ($date_kurz == $easter+1)
    70.     {
    71.         echo 'Ostermontag';
    72.     }
    73.     elseif ($date_kurz == '01.05')
    74.     {
    75.         echo 'Maifeiertrag';
    76.     }
    77.     elseif ($date_kurz == date("d.m",mktime(0,0,0,$easter_m,$easter_d +39,$mon)))
    78.     {
    79.         echo 'Christi Himmelfahrt';
    80.     }
    81.     elseif ($date_kurz == date("d.m",mktime(0,0,0,$easter_m,$easter_d +49,$mon)))
    82.     {
    83.         echo 'Pfingstsonntag';
    84.     }
    85.     elseif ($date_kurz == date("d.m",mktime(0,0,0,$easter_m,$easter_d +50,$mon)))
    86.     {
    87.         echo 'Pfingstmontag';
    88.     }
    89.     elseif ($date_kurz == ($date_kurz == date("d.m",mktime(0,0,0,$easter_m,$easter_d +60,$mon)))
    90.         //&& ($bl == 'BW' || $bl == 'BY' || $bl == 'HE' || $bl == 'NW' || $bl == 'RP' || $bl == 'SL' || $bl == 'SN' || $bl == 'TH')
    91.         )
    92.     {
    93.         echo 'Fronleichnam';
    94.     }
    95.     elseif ($date_kurz == '15.08'
    96.         //&& ($bl == 'SL' || $bl == 'BY')
    97.         )
    98.     {
    99.         echo 'Mariä Himmelfahrt';
    100.     }
    101.     elseif ($date_kurz == '03.10')
    102.     {
    103.         echo 'Tag der deutschen Einheit';
    104.     }
    105.     elseif ($date_kurz == '31.10'
    106.         //&& (($y >= 2018 && $bl == 'HB') || ($y >= 2018 && $bl == 'HH') || ($y >= 2018 && $bl == 'NI') || ($y >= 2018 && $bl == 'SH')|| $bl == 'BB' || $bl == 'MV' || $bl == 'ST' || $bl == 'TH '|| $bl == 'SN')
    107.         )
    108.     {
    109.         echo 'Reformationstag';
    110.     }
    111.     elseif ($date_kurz == '01.11'
    112.         //&& ($bl == 'BW' || $bl == 'BY' || $bl == 'NW' || $bl == 'RP' || $bl == 'SL')
    113.         )
    114.     {
    115.         echo 'Allerheiligen';
    116.     }
    117.     elseif ($date_kurz == date("d.m",mktime(0,0,0,$advent4_m,$advent4_d -32,$mon))
    118.         //&& ($bl == 'SN')
    119.         )
    120.     {
    121.         echo 'Buß- und Bettag';
    122.     }
    123.     elseif ($date_kurz == '24.12')
    124.     {
    125.         echo 'Heiliger Abend (Bankfeiertag)';
    126.     }
    127.     elseif ($date_kurz == '25.12')
    128.     {
    129.         echo '1. Weihnachtsfeiertag';
    130.     }
    131.     elseif ($date_kurz == '26.12')
    132.     {
    133.         echo '2. Weihnachtsfeiertag';
    134.     }
    135.     elseif ($date_kurz == '31.12')
    136.     {
    137.         echo 'Silvester (Bankfeiertag)';
    138.     }
    139.     elseif ($date_kurz == $advent1)
    140.     {
    141.         echo '1. Advent';
    142.     }
    143.     elseif ($date_kurz == $advent2)
    144.     {
    145.         echo '2. Advent';
    146.     }
    147.     elseif ($date_kurz == $advent3)
    148.     {
    149.         echo '3. Advent';
    150.     }
    151.     elseif ($date_kurz == $advent4)
    152.     {
    153.         echo '4. Advent';
    154.     }
    155.  
    156.     elseif ($date_kurz == '08.03'
    157.     //&& (($y >= 2019 && $bl == 'BE'))
    158.     )
    159.     {
    160.         echo 'Internationaler Frauentag';
    161.     }
    162.  
    163.     else
    164.     {
    165.         echo '#';
    166.     }
    167. }
    168.  
    169. ?>
    170.  
     
    #3      
Seobility SEO Tool
x
×
×