mathematisches Problem

caramba12321

blödefragensteller
Hallo Leute, ich habe ein kleines mathematisches Problem.
und zwar habe ich 2 Variablen:

$now_action //aktueller Timestamp
$last_action //letzter Timestamp

jetzt will ich rechnen :
$now_action minus $last_action
und wenn da 900 übrig bleibt soll er in eine Variable 1 speichern.
Wenn nun aber 2*900 also 1800 übrig bleibt soll er in die Variable 2 speichern
und das halt immer in 900er-Schritten und die Variable soll sich jedes mal um 1 erhöhen.

Ich habe das schonmal mit Schleifen ausprobiert aber das hat bei mir nicht so wirklich funktioniert.

Bin wie immer für konstruktive Vorschläge dankbar :)
 
Hi caramba,
mit [phpf]floor[/phpf] kannst du das bewerkstelligen:
PHP:
$var = floor(($now_action - $last_action) / 900)

Gruß
Marvin
 
Damit rundest du ja nur, oder? Er will es aber nur wenn es durch 900 teilbar ist(so wie ich das verstehe). Das geht mit modulo:
PHP:
<?php
$now_action = 1800;
$last_action = 900;

$m = $now_action -$last_action;
if($m % 900 == 0){
    echo $m;
    echo $m/900;
}
?>
 
Zuletzt bearbeitet:
Wenn deine Variablen ein Array wären (in meinem Beispiel das Array "arr"), gige es natürlich am einfachsten:

PHP:
if( ($now_action - $last_action)%900 == 0 )
    $arr[floor(($now_action - $last_action) / 900)] += 1;
ansonsten erhöht folgender Code die Variable um eins , die die ensprechende Nummber hat:
PHP:
if( ($now_action - $last_action)%900 == 0 )
    eval('$Variable'. floor(($now_action - $last_action) / 900) .'+= 1';);

P.S.
Mist da war jemand schneller als ich, aber ich hab dafür mehr geschrieben...
 
Zuletzt bearbeitet:
Mhh also das trifft es alles noch nicht so ganz.
ich will wen das Ergebnisvom aktuelle timestamp - den letzten timestamp 900 oder mehr ergibt in eine variable 1 gespeichert haben.
So das ist soweit ja noch ganz simple.
Nun will ich aber für jede voll 900 die aus der rechnung rauskommen +1 in meine variable haben.

also kommt 900 oder mehr raus, soll in die Variable 1 gespeichert werden
kommt 1800 oder mehr raus dann soll 2 in die Variable gespeichert werden
bei 2700 und mehr dann halt 3 und immer so weiter..
 
Dann hast du dich beim ersten mal leicht falsch ausgedrückt. Dann passt das Beispiel von Marvin genau.
 
Zurück