Archiv verlassen und diese Seite im Standarddesign anzeigen : ich kapier es einfach ned
robiotor
05-07-2003, 13:55
die aufgabe
$var1 hat den wert 1
$var2 hat den wert 2
wenn $var1 oder $var2 gesetzt ist multipliziere $var3 mal wert von $var1 oder $var2
wenn $var1 und $var2 gesetzt ist multipliziere $var3 mal wert von $var1 + $var3 mal wert von $var2
und speicher ergebniss in $var4
ich habe so bis jetzt die sache ausprobiert aber irgend wie scheint als würde ich mächtig was falsch machen.
$var = array('$var1' > '1' ,'$var2' => '2');
$varx = (isset($var) ? "1" : "0");
so wie weiter, oder ist das komplett falsch ?
mehlvogel
05-07-2003, 14:08
Das Problem:
Was willst du mitm Array? Was soll der Code da unten überahupat bewirken
Was mir auffällt ist, das mit deiner ersten bedingung auch dene zweite mit abgedeckt ist. Ich interpretiere deas oder mal als exklusives oder (alsu NUR 1 von beiden).
Dann würde es so aussehen:
if (!isset($var1) && isset($var2)) $var3 *= $var2;
elseif(!isset($var2) && isset($var1)) $var3 *= $var1;
elseif(isset($var1) && isset($var2)) $var3 *= ($var1 + $var2);
$var4 = $var3;
oder versteht ich nur net was du meinst?
robiotor
05-07-2003, 14:31
so ich probier das noch einmal zu beschreiben hofentlich ist es dann zu verstehen.
ich habe einen formular da sind zwei felder
$var1 und $var2 man kann in diese felder selber was reinschreiben.
wenn $var1 nicht leer ist multipliziere $var3 * $var4 und speichere in $var6
wenn $var2 nicht leer ist multipliziere $var3 * $var5 und speichere in $var7
wenn $var1 und $var2 gesetzt sind addiere $var6 + $var7 und speichere in $var8
wenn nur $var1 oder $var2 gestzt ist speichere auch in $var8
ich glaube das ist jetzt besser und ich habe es anders angefangen
mehlvogel
05-07-2003, 14:37
sach das doch ;)
$var6 = isset($var1) ? $var3 * $var4 : 0;
$var7 = isset($var2) ? $var3 * $var5 : 0;
$var8 = isset($var1) && isset($var2) ? $var6 + $var7 : 0;
$var8 = $var8 == 0 && isset($var1) ? $var6 : 0;
$var8 = $var8 == 0 && isset($var2) ? $var7 : 0;
Hoffe das reicht so ;)
robiotor
05-07-2003, 14:39
ich werde das sofort ausprobieren mal sehen ob das geht aber es schaut ganz ok aus :)
Hmmm,
ich sag mal viele Wege führen nah Rom. Aber irgendwie beschreibst Du zwei unterschiedliche Aufgabenstellungen, z.B. hier:
Original geschrieben von robiotor
die aufgabe
$var1 hat den wert 1
$var2 hat den wert 2
wenn $var1 oder $var2 gesetzt ist multipliziere $var3 mal wert von $var1 oder $var2
wenn $var1 und $var2 gesetzt ist multipliziere $var3 mal wert von $var1 + $var3 mal wert von $var2
und speicher ergebniss in $var4
$var1 = is_numeric($var1) ? $var1 : 0;
$var2 = is_numeric($var2) ? $var2 : 0;
$var4 = $var3 * $var1 + $var3 * $var2;
ups ... oder sie wie mehlvogel gerade schrieb;
Pingu
Obwohl .. warum so kompliziert im zweiten Teil?
Original geschrieben von mehlvogel
sach das doch ;)
$var6 = isset($var1) ? $var3 * $var4 : 0;
$var7 = isset($var2) ? $var3 * $var5 : 0;
$var8 = isset($var1) && isset($var2) ? $var6 + $var7 : 0;
$var8 = $var8 == 0 && isset($var1) ? $var6 : 0;
$var8 = $var8 == 0 && isset($var2) ? $var7 : 0;
Hoffe das reicht so ;)
Es reicht doch einfach:
$var6 = isset($var1) ? $var3 * $var4 : 0;
$var7 = isset($var2) ? $var3 * $var5 : 0;
$var8 = $var6 + $var7;
Pingu
robiotor
05-07-2003, 15:10
warum bekomme ich nun ein fehlermeldung
Fatal error: Unsupported operand types in line 183
so schaut das ganze jetzt aus
$var4 = '2';
$var5 = '3';
$var6 = isset($vhost1) ? $intervall * $var4 : 0;
$var7 = isset($vhost2) ? $intervall * $var5 : 0;
$var8 = isset($vhost1) && isset($vhost2) ? $var6 + $var7 : 0;
$var8 = $var8 == 0 && isset($vhost1) ? $var6 : 0;
$var8 = $var8 == 0 && isset($vhost2) ? $var7 : 0;
und line 183 ist $var6 = isset($vhost1) ? $intervall * $var4 : 0;
robiotor
05-07-2003, 15:38
ok nochmal umgenaut
$var4 = 2;
$var5 = 3;
$var6 = (isset($vhost1)) ? '$intervall * $var4' : '0';
$var7 = (isset($vhost2)) ? '$intervall * $var5' : '0';
$var8 = (isset($vhost1)) && isset($vhost2) ? $var6 + $var7 : '0';
$var8 = $var8 == 0 && isset($vhost1) ? $var6 : 0;
$var8 = $var8 == 0 && isset($vhost2) ? $var7 : 0;
aber in $var8 steht dann $intervall * $var4 als ausgabe nicht die berechnung
robiotor
05-07-2003, 15:41
noch ein mal umgebaut und dann liefert $var8 eine 0 egal was ich mache
$var4 = 2;
$var5 = 3;
$var6 = (isset($vhost1)) ? '$intervall' * '$var4' : '0';
$var7 = (isset($vhost2)) ? '$intervall' * '$var5' : '0';
$var8 = (isset($vhost1)) && isset($vhost2) ? $var6 + $var7 : '0';
$var8 = $var8 == 0 && isset($vhost1) ? $var6 : 0;
$var8 = $var8 == 0 && isset($vhost2) ? $var7 : 0;
Vielleicht schaust Du mal hier nach: http://www.php.net/manual/de/language.types.php
Oder hier: http://www.php.net/manual/de/language.types.string.php
Pingu
mehlvogel
05-07-2003, 16:20
meine letzten beiden waren auch falsch das muss sein:
$var8 = $var8 == 0 && isset($vhost1) ? $var6 : $var8;
$var8 = $var8 == 0 && isset($vhost2) ? $var7 : $var8;
Original geschrieben von mehlvogel
meine letzten beiden waren auch falsch das muss sein:
$var8 = $var8 == 0 && isset($vhost1) ? $var6 : $var8;
$var8 = $var8 == 0 && isset($vhost2) ? $var7 : $var8; Die kann man doch ganz weglassen. Denn
$var8 = $var6 + $var7;
reicht doch. Denn entweder ist $var6 = 0 oder $var7 = 0, denn wird gerechnet $var8 = 0 + $var7 = $var7 bzw. $var8 = $var6 + 0 = $var6 oder eben $var8 = $var6 + $var7. Damit sind ja alle Fälle abgedeckt. Denn die vorherigen stellen ja sicher, daß die Variablen richtig gesetzt bzw. 0 sind.
Pingu
robiotor
05-07-2003, 20:03
nun bekomme ich immer 20 egal was ich mache
$var3 = 2;
$var4 = 4;
$var5 = 6;
$var6 = (isset($_POST['vhost1'])) ? $var3 * $var4 : 0;
$var7 = (isset($_POST['vhost2'])) ? $var3 * $var5 : 0;
$var8 = isset($var1) && isset($var2) ? $var6 + $var7 : 0;
$var8 = $var6 + $var7;
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.