Mit IF werte eingrenzen

suedi

Mitglied
Hallo Leute

so habe wieder einmal ein Problem, nun zum Problem

ich habe ein

PHP:
++$Monate

dieser wert gibt verschiedene gereihte zahlen aufsteigend von zb 1-150 aus-

Es sind mehrere Zahlen die er ausgibt

ich will aber zum Beispiel ein festes Intervall ändern,wenn der Wert $Monate einen bestimmten Zahlenwert übersteigt.

Also so in etwa
PHP:
if ($Montate >= "100")
                        $intv = "10";

Nun das Problem ist, dass er nur das Intervall für die Zahlenwerte die über 100

hinaus gehen ändert(ist logisch), ich will sie aber für alle Zahlen ändern,die er

bei dem Intervall ausgibt ,welches 100 übersteigt.

Ist das irgendwie ohne größere Änderungen möglich? Wenn ja wie?

danke im vorraus
suedi
 
ups mit er ist der php coder gemeint

mit sie war das Intervall gemeint, hätte lieber ES sagen sollen

nun eigentlich wars sehr gut erklärt, habe vielleicht etwas vergessen

++$Monate gibt doch VERSCHIEDENE Zahlen aus.

diese zahlen haben ein Intervall, zb. 6. Meine If Anweisung

soll aber das Intervall der ausgegeben Zahlen ändern, hier also auf 10 setzen.

Allerdings setzt das ganze nur das Intervall der Zahlen auf 10 die auch größer als 100 sind. Es soll aber NUR die letzte ausgegeben Zahl aus ++$monate beachtet
werden und GLEICHZEITIG ALLE Zahlen auf das Intervall 10 gesetzt werden, nicht
nur die ,die unter 100 sind

hoffe jetzt wirds verstanden:)
 
Original geschrieben von suedi

nun eigentlich wars sehr gut erklärt ...

leider nein ;) (was auch der Grund dafür sein könnte weshalb noch keiner geantwortet hat.

Du schreibst:
++$Monate
dieser wert gibt verschiedene gereihte zahlen aufsteigend von zb 1-150 aus-

Ich sehe nur einen pro-inkrementoperator der auf die Variable $Monate angewandt wird.

Du schreibst:
will aber zum Beispiel ein festes Intervall ändern,wenn der Wert $Monate einen bestimmten Zahlenwert übersteigt.
if ($Montate >= "100")
$intv = "10";

Ich sehe einen Kontrollausdruck der bei true eine Wertzuweisung vornimmt.

Du schreibst:
hinaus gehen ändert(ist logisch), ich will sie aber für alle Zahlen ändern,die er
bei dem Intervall ausgibt ,welches 100 übersteigt.

++$Monate gibt doch VERSCHIEDENE Zahlen aus.
Nein das ist nur eine pre-Inkrementierung des Wertes $Monate.

Du schreibst:
diese zahlen haben ein Intervall, zb. 6.
Nein meinst du eine Inkremetierung von 6?

soll aber das Intervall der ausgegeben Zahlen ändern, hier also auf 10 setzen.
$intv = "10"; ist fuer uns leser deines Beitrages nur ersichtlich als eine Wertzuweisung von 10 an die Variable $intv;
Irgendein Intervall ist hier fuer uns nicht ersichtlich.

Was willst du wo ändern. Sprich nicht von Intervallen, denn dieser Ausdruck ist hierbei verwirrend und ungeangebracht. Ich (und wohl auch andere) können trotz einiger Erfahrung im Programmieren nicht herauslesen was du mit diesem Satz aussagen willst.

Drum schau ich eben in meine Glaskugel und versuche zu erraten was du zu erreichen versuchst.

Allerdings setzt das ganze nur das Intervall der Zahlen auf 10 die auch größer als 100 sind.
Nein aus deinem Code
if ($Montate >= "100")
ist ersichtlich das er nicht bei groesser als 100 sondern bei groesser und gleich 100 die Anweisung ausfuehrt.

. Es soll aber NUR die letzte ausgegeben Zahl aus ++$monate beachtet
werden und GLEICHZEITIG ALLE Zahlen auf das Intervall 10 gesetzt werden, nicht
nur die ,die unter 100 sind
Sowas ist grundsaetzlich nicht ersichtlich was du willst. Bitte bringe greifbare Beispiele, bedenke wir wissen nicht was du willst, wir haben a) deinen Code nicht zur verfuegung und b) nicht die geringste Ahnung was "anfassbares" dabei raus kommen soll.

Dein 2. Beitrag hat mich nur noch mehr verwirrt ;)
 
Häääääääääää?!
Also, Christian hat Recht...
Einige kleine Tipps:
Falls es sich hier um ein Missverständnis handelt: Intervalle sind Abstände zwischen zwei Werten.
Nun erhöhst du $monate bei jedem Durchlauf um 1.
Also ist das Intervall zwischen dem alten $monate und dem neuen $monate 1.
Willst du dieses Intervall ändern?Wenn ja:
Vor die Schleife ein
$intervall = 1
dann in der Schleife
$monat = $monat+$intervall;
und deinen If-Kontrollmechanismus.

Ansonsten kann ich keine Frage erkennen
 
Also ihr wolltet es so....

nun ich mache OOP und da habe ich ein Programm in welches man einen

Zeitraum und das Intervall einstellen kann, dieser Wert ist dann fest und ich will

diesen Wert beeinflussen, und zwar wie folgt. So ich erkläre mal jetzt ganz in

ruhe. Denkt einfach es gibt ein $i = 1 . Nun ich erhöhe diesen Wert , mit $i++ .

Irgendwo steht im Programm "halt du hörst jetzt bei 120 auf" (Das hängt von der

Einstellung im Programm(nicht vom Code) ab.....

So mein Programm gibt jetzt folgendes aus(Das intervall wurde eben auf 6 gesetzt, oder sagen wir einfach eine Zahl wurde auf 6 gesetzt, und die Variable dazu heiß $intv.

Wenn ich jetzt mit
PHP:
echo $iMonate;
aufrufe erscheint eine Auflistung
von Zahlen die zb. von 1-100 gehen.

soweit so gut, also wer mich bisher nicht versteht....soll bitte garnicht weiterlesen,
ich weiß nicht wie ich es noch besser erklären soll, es bringt auch nix ellen lange
Programmcodes hier zu zeigen....naja weiter gehts

Also nachdem DIESER

PHP:
$timestamp = mktime(0,0,0,substr($tr1->getDate(), 5, 2), 1, substr($tr1->getDate(), 0, 4));
                    $date = date("M 'y", $timestamp);
				    $date = new TTFString($date);
				    $date->setFontSize($fontsize);
				    $point = new Point($x, 10);

                     if($iMonate
 % $intv == 0) {
				        $xc->writeString($date, $point);

programmteil ausgeführt wurde kommt für $Monate nur noch folgendes raus.....

6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
96
102
108
114
120
126
das intervall beträgt 6 zwischen den einzelnen Zahlen,
wenn ich $intv nun ausgebe(mit echo) kommt folgendes raus

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6


genauso viele sechsen(interv) wie zahlen ausgegeben werden.
Nun meine IF anweisung die Vor den programmcode kommt, schafft es nur, das
Intervall (also die 6sen in 10 umzuwandeln) für die Zahlen in 10 umzuwandeln, die auch wirklich über 100 gehen. Ich will dass es nur die letzte zahl,also 126 beachtet wird, und gleichzeitig alles 6sen in 10 umwandelt(und nicht nur teile davon). Es werden zwar weniger 6sen, aber das ist normal da das Intervall auf 10 erhöht wird.

Ich muss jetzt einfach verstanden worden sein......

Danke für eure Hilfen

gruß
suedi
 
Bis auf den letzten Absatz ist mir nun klar was du willst.
Bei dem letzten Absatz befrage ich meine Glaskugel:

[GLASKUGEL]
suedi will einmal die Daten die sich bei $intv = 6 ausgeben und danach
die daten bei $intv = 10 ausgeben
[/GLASKUGEL]

Code:
$intervalle = array("6","10");
foreach($intervalle as $k => $intv) {
   // HIER dein Code einfuegen
}
 
Das geht irgendwie nicht, vielleicht stelle ich mich als Anfänger auch noch an

habe jetzt alle Möglichen Kombinationen ausprobiert.....er akzeptiert mein If einfach nicht so wie ich es will....bei >= 100 ALLES intervalle auf 10 zu setzen, aber gleichzeitig, wenn das intervall kleiner 100 ist, NICHTS zu machen und das intervall bei 6 zu lassen........ich verzweifle noch

danke trotzdem
 
Zurück