PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   IF und elseif funktionieren nur teilweise (https://www.php-resource.de/forum/php-developer-forum/105492-if-und-elseif-funktionieren-nur-teilweise.html)

hieger 16-02-2016 18:05

IF und elseif funktionieren nur teilweise
 
Hallo,

ich habe einen RSS Feed, welchen ich optisch auf einer Webseite ausgeben möchte. Ein Teil des Codes lautet:

PHP-Code:


list($tag$monat$jahr) = explode("."$datum);
$datum_new = ($jahr "-" $monat "-" $tag "T" $uhrzeit );

echo 
$tag;

if (
$monat == 01) { $monat_lang 'Jänner'; } 
elseif (
$monat == 02) { $monat_lang 'Februar'; } 
elseif (
$monat == 03) { $monat_lang 'März'; } 
elseif (
$monat == 04) { $monat_lang 'April'; } 
elseif (
$monat == 05) { $monat_lang 'Mai'; } 
elseif (
$monat == 06) { $monat_lang 'Juni'; } 
elseif (
$monat == 07) { $monat_lang 'Juli'; } 
elseif (
$monat == 08) { $monat_lang 'Juli'; } 
elseif (
$monat == 09) { $monat_lang 'September'; } 
elseif (
$monat == 10) { $monat_lang 'Oktober'; } 
elseif (
$monat == 11) { $monat_lang 'November'; } 
elseif (
$monat == 12) { $monat_lang 'Dezember'; } 

else { 
$monat_lang ''; }

echo 
$monat_lang

Es funktioniert soweit, dass er bis Juli das richtige monat_lang anzeigt, danach gibt er nichts mehr aus. Termine sind für den Zeitraum vorhanden, es wird auch mit der führenden 0 ausgegeben.

Kann es sein, dass es "zu viele" Ifs sind?

Habt Ihr eine Idee wie ich es alternativ lösen kann?

Vielen Dank schon vorab für Eure Hilfe und jeden Tipp.

GlG aus Graz
Markus

h3ll 16-02-2016 18:29

PHP-Code:

$month 3;

$monthTexts = [
    
'Jänner',
    
'Februar',
    
'März',
    
'April',
    
'Mai',
    
'Juni',
    
'Juli',
    
'August',
    
'September',
    
'Oktober',
    
'November',
    
'Dezember'
];

$monthText $monthText[$month 1]; 


hieger 16-02-2016 18:45

Hallo,

vielen Dank für die rasche Antwort.

WEnn ich diesen Teil einbaue erscheint keine Seite mehr und dafür folgender Eintrag im error.log:

[Tue Feb 16 18:44:15 2016] [warn] [client 80.109.207.110] mod_fcgid: stderr: PHP Parse error: syntax error, unexpected ',' in /var/www/vhosts/handy-info.at/httpdocs/termine.php on line 89

hieger 16-02-2016 19:27

Super .. Vielen Dank an euch beide.

Im Code habe ich noch folgendes ausgebessert:

$monthText = $monthTexts[$month - 1];

Alles erledigt, funktioniert wunderbar.

Danke


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:44 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG