Quellcode kürzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Quellcode kürzen

    Hallo zusammen, ich mal wieder.

    habe grade versucht einen nicht sonderlich optimalen Quellcode zu kürzen, doch irgendwie scheint noch n denkfehler drin zu sein, den es klappt nicht.

    Ich habe eine Code bei dem zwischen 25 verschiedenen Schiffen gewählt wird, diesen hier :

    Code:
    if ($shiptype==1) {   
        $rohstoff1 -= ($schip1_kost1*$anzahl) ; 
        $rohstoff2 -= ($schip1_kost2*$anzahl) ;	
        $rohstoff3 -= ($schip1_kost3*$anzahl) ;
        $rohstoff4 -= ($schip1_kost4*$anzahl) ; 
        $rohstoff5 -= ($schip1_kost5*$anzahl) ;	
        $rohstoff6 -= ($schip1_kost6*$anzahl) ;
        $dauer = $schip1_bauzeit ; }
    if ($shiptype==2) {   
        $rohstoff1 -= ($schip2_kost1*$anzahl) ; 
        $rohstoff2 -= ($schip2_kost2*$anzahl) ;
        $rohstoff3 -= ($schip2_kost3*$anzahl) ;
        $rohstoff4 -= ($schip2_kost4*$anzahl) ; 
        $rohstoff5 -= ($schip2_kost5*$anzahl) ;
        $rohstoff6 -= ($schip2_kost6*$anzahl) ;
        $dauer = $schip2_bauzeit ;}
    u.s.w. bis Schiff 25. Nun dachte ich mir das ganze wäre doch zu kürzen und habe dann durch stöbern folgende Möglichkeit zusammengebaut :

    Code:
    {   
        $rohstoff1 -= ($schip . $shiptype . _kost1*$anzahl) ; 
        $rohstoff2 -= ($schip . $shiptype . _kost2*$anzahl) ;
        $rohstoff3 -= ($schip . $shiptype . _kost3*$anzahl) ; 
        $rohstoff4 -= ($schip . $shiptype . _kost4*$anzahl) ;
        $rohstoff5 -= ($schip . $shiptype . _kost5*$anzahl) ; 
        $rohstoff6 -= ($schip . $shiptype . _kost6*$anzahl) ;
        $dauer = $schip . $shiptype . _bauzeit ;
    }
    Soweit ich weiss müsste das doch funktionieren. Ich bekomme zwar keine Fehlermeldung oder dergleichen, aber die Berechnung funktioniert nicht.
    Was habe ich da falsch gemacht ?

    Beide Varianten bekommen also die Variable Shiptype übergeben, welche einen Wert zwischen 1 und 25 erhält.

    Dieser Code wäre ja wesentlich kürzer, wenn er klappen würde

    Danke für nen Denkanstoss
    - Carpe Noctem -

  • #2
    schau mal im Handbuch zum Thema Variable Variablen nach!

    Damit läßt sich dein Problem lösen, mit ner einfachen Variablenverkettung isses nich getan!

    gruss

    P.S.

    und da ich heute meinen Sozialen habe gebe ich dir sogar den Link
    http://www.php.net/manual/de/languag...s.variable.php

    Kommentar


    • #3
      Danke erstmal, aber den Text kenn ich.
      Ich gehöre wohl zu den Leuten die diesen Theoretischen Kram grundsätzlich nicht kapieren, sprich -> Mir hilft die Seite leider nicht weiter, hab ich mir vorgestern schon angeschaut ;(

      Meine Variante hatte ich nach nem Beispiel von wo anders zusammengebaut, was ja aber leider nicht funktioniert.

      Den Link den du mir gegeben hast verstehe ich so, das ich die Variablen in den Schleifen erst zusammen setzen muss, was anderes seh ich da leider nicht und ich versteh nicht wie. Ich hab immer Probleme mit solchen Anleitungen sorry
      - Carpe Noctem -

      Kommentar


      • #4
        Re: Quellcode kürzen

        ein anderer, einfacher weg wäre es, die schiffskosten in einem zweidimensionalen array abzulegen, $ship_kost[typ][nummer].
        auf dieses kann dann einfach mit dem schiffstyp $shiptype zugegriffen werden,

        $rohstoff1 -= ($ship_kost[$ship_type][1]*$anzahl) ;
        $rohstoff2 -= ($ship_kost[$ship_type][2]*$anzahl) ;
        $rohstoff3 -= ($ship_kost[$ship_type][3]*$anzahl) ;
        etc.


        btw: warum die rohstoffkosten nicht auch in einem array ablegen, anstatt mit hinten angehängten nummern zu arbeiten...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Huhu nochmal, hab das Problem grade gelöst und den Fehler gefunden

          So funktioniert es Problemlos :

          Code:
          $rohstoff1 -= ('$schip' . $shiptype . _kost1*$anzahl) ;
          $rohstoff2 -= ('$schip' . $shiptype . _kost2*$anzahl) ;
          $rohstoff3 -= ('$schip' . $shiptype . _kost3*$anzahl) ;
          $rohstoff4 -= ('$schip' . $shiptype . _kost4*$anzahl) ;
          $rohstoff5 -= ('$schip' . $shiptype . _kost5*$anzahl) ;
          $rohstoff6 -= ('$schip' . $shiptype . _kost6*$anzahl) ;
          $dauer = '$schip' . $shiptype . _bauzeit ;
          Einfach vorne das $schip in ' ' setzen und alles is in Butter, die Variablen werden nun richtig zusammengesetzt.
          - Carpe Noctem -

          Kommentar

          Lädt...
          X