Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabelle über PHP ausrechnen

Einklappen

Neue Werbung 2019

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

  • Tabelle über PHP ausrechnen

    Hallo Leute,
    und zwar bin ich gerade dabei zum Üben mit PHP nach einer Tabelle welche ihr unter diesem Link findet: http://w2qnx122d.homepage.t-online.d...tentabelle.jpg
    ein Rentenberechnungsskript in PHP zu erstellen. Nun könnte ich das mit sehr vielen (44) IF Anweisungen machen, allerdings wäre das schon etwas aufwendig und es könnte sehr schnell ein Fehler reinkommen. Deswegen wollte ich euch mal fragen ob das auch irgendwie einfacher geht. Habe auch etwas mit Array gefunden, allerdings nichts mit einem Beispiel einer Tabelle.

  • #2
    Wenn du das nicht tabellarisch lösen willst, brauchst du eine Formel. Aber dazu musst du halt wissen, wie sich die Werte aufeinander auswirken, dann könntest du ggf. mit Faktoren arbeiten.

    Code:
    $brutto * $beitragsjahre * $ostwest
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Zitat von chorn Beitrag anzeigen
      Wenn du das nicht tabellarisch lösen willst, brauchst du eine Formel. Aber dazu musst du halt wissen, wie sich die Werte aufeinander auswirken, dann könntest du ggf. mit Faktoren arbeiten.

      Code:
      $brutto * $beitragsjahre * $ostwest
      Nene also ich würde das schon gerne Tabellarisch lösen. Nur würde mir nur einfallen das ganze Mit vielen IF Funktionen zu machen. Also für jeden Fall eine IF Funktion das wären dann aber 44. Also schon extrem viele.

      Kommentar


      • #4
        Für wiederholende Tätigkeiten wurden Schleifen erfunden. Also dann brauchst du nicht 44 If-Bedingungen, sondern eine Schleife mit einer If-Bedingung, die maximal 44mal durchlaufen wird.

        Kommentar


        • #5
          So lange du eine valide Eingabe hast, brauchst du erstmal kein IF und keine Schleife, dein Array muss nur eindeutig ansprechbar sein:

          PHP-Code:
          <?php

          $data 
          = [
              
          500 => [ // brutto
                  
          30 => [ // beitragsjahre
                      
          'ost' => 123// wert
                      
          'west' => 234,
                  ],
                  
          35 => [
                      
          'ost' => 345,
                      
          'west' => 456,
                  ],
              ],
          ];

          $brutto 500;
          $beitragsjahre 35;
          $ostwest 'west';

          echo 
          $data[$brutto][$beitragsjahre][$ostwest]; // 456
          Und du musst halt wissen, wie du die "Lücken" (499€, 498€, ...) füllen willst (z.B. durch Rundung).
          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

          Kommentar


          • #6
            Zitat von chorn Beitrag anzeigen
            So lange du eine valide Eingabe hast, brauchst du erstmal kein IF und keine Schleife, dein Array muss nur eindeutig ansprechbar sein:

            PHP-Code:
            <?php

            $data 
            = [
            500 => [ // brutto
            30 => [ // beitragsjahre
            'ost' => 123// wert
            'west' => 234,
            ],
            35 => [
            'ost' => 345,
            'west' => 456,
            ],
            ],
            ];

            $brutto 500;
            $beitragsjahre 35;
            $ostwest 'west';

            echo 
            $data[$brutto][$beitragsjahre][$ostwest]; // 456
            Und du musst halt wissen, wie du die "Lücken" (499€, 498€, ...) füllen willst (z.B. durch Rundung).
            Ach so. Aber was mache ich wenn irgendetwas dazwischen eingegeben wird (32 Beitragsjahre), dann müsste ich ja eine Schleife einbauen oder?
            Bzw. müsste ich dann nicht eher eine Formel machen? Weil das sind ja alles schon feste Werte, da müsste ich ja auch eine riesige PHP Datei schreiben weil es ja vom Gehalt dann noch bis 5500 geht oder? Genau das möchte ich nämlich verhindern.

            Kommentar


            • #7
              Arrays lassen sich auch durchsuchen. < > == sind Operationen mit den man prüfen kann oder der nächste Wert gilt usw.
              bitcoin.de <- Meine Freelancerwährung

              Kommentar


              • #8
                Ich verstehe nicht ganz, was Du da eigentlich umsetzen willst. Willst Du jetzt auch eine Tabelle darstellen oder soll der User in drei Feldern "Ost/West", Bruttogehalt, Beitragsjahre etwas eingeben und Dein Skript gibt dann die eine Zahl aus?

                Mir ist auf jeden Fall aufgefallen, dass die Zahlen von oben nach unten und von links nach rechts gelesen ziemlich genau linear zu sein scheinen.

                Der Westler bekommt pro Jahr und Bruttogehaltseuro 0,0103806667 Euro.

                Der Wert z. B. multipliziert mit 35 Beitragsjahre * 2000 Euro ergibt dann 726,65, also ziemlich genau den Tabellenwert.

                Allerdings glaube ich nicht, dass Renten wirklich so linear sind. Wo kommen denn die Zahlen her?
                [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

                Kommentar


                • #9
                  Wenn das mit runden nicht klappt, brauchst du halt eine Funktion die dir per Staffelung immer den nächst höheren/niedrigeren Wert liefert. Oder du lässt andere Werte erst gar nicht zu, macht ja auch Sinn wenn du das tabellarisch lösen willst, es gibt ja keine Zwischenwerte wie 499€. Aber besser ist natürlich eine generelle Formel, die für jede Eingabe passt.
                  [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                  Kommentar


                  • #10
                    Zitat von drsoong Beitrag anzeigen

                    Allerdings glaube ich nicht, dass Renten wirklich so linear sind. Wo kommen denn die Zahlen her?
                    Doch ist linear, siehe Rentenformel.
                    Jetzt kann ja jeder selber ausrechnen was er im Alter zu erwarten hat.

                    Kommentar

                    Lädt...
                    X