brauche Webseite ideal für Vereine und Firmen
- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
456 PHP-Resource Mitglieder online


php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1 (permalink)  
Alt 11-02-2009, 18:55
DerSchonWieder
 Newbie
Links : Onlinestatus : DerSchonWieder ist offline
Registriert seit: Feb 2008
Beiträge: 74
DerSchonWieder ist zur Zeit noch ein unbeschriebenes Blatt
Standard Probleme mit Simpler Addition

Tach...
folgender Code:

PHP-Code:
function getSeason($date)
{
    
$parts=explode('.',$date,3);
    
$year=intval($parts[2]);
    
$month=intval($parts[1]);
    
$day=intval($parts[0]);
    
$season '';
    if(
$month>=6)
    {
        if(
$day>=25 OR $month>6)
        {
            
$season $year '/' $year+1;            
        }
        else
        {
            
$season $year-'/' $year;
        }
        
    }
    else
    {
        
$season $year-'/' $year;
    }

    return 
$season;

Wenn ich diese Funktion mit getSeason('20.02.2009') aufrufe, funzt alles. Es wird 2008/2009 ausgegeben. Sobald ich einen Wert über dem 25.06.2009 eingebe, soll die Funktion quasi 2009/2010 ausgeben. Tut sie aber nicht. Sie gibt nur 2010 aus. Sowohl über CLI als auch über Webbrowser.

Dann hab ich mal testweise das +1 in der Zeile entfern, und siehe da, es wird 2009/2009 ausgegeben. Ich glaube, ich habe einen PHP-Bug gefunden. Allerdings sehr doof für mich..

Greetz!
Mit Zitat antworten
  #2 (permalink)  
Alt 11-02-2009, 18:59
DerSchonWieder
 Newbie
Links : Onlinestatus : DerSchonWieder ist offline
Registriert seit: Feb 2008
Beiträge: 74
DerSchonWieder ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Oha, kaum schicke ich das Posting ab, kommt mir der entscheidene Geistesblitz. Ich hätte $year+1 in klammern Packen müssen, da der PHP-Parser wohl irgendwie bisschen komisch parst

Edit: Sorry, habe hier erst keinen Edit-Button gefunden. Kommt nich wieder vor.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-02-2009, 19:13
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 22.976
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von DerSchonWieder
Ich hätte $year+1 in klammern Packen müssen, da der PHP-Parser wohl irgendwie bisschen komisch parst
http://www.php.net/manual/en/languag...precedence.php

Die Operatoren + und . haben die gleiche Rangstufe, werden jedoch von links nach rechts abgearbeitet.

Das heisst, du hast hier erst mal 2009.'/'.2009, das ergibt den Text '2009/2009'. Da soll jetzt eins draufaddiert werden, dazu muss es erst implizit in eine Zahl umgewandelt werden, also 2009. Plus 1 ergibt - 2010.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39