Der folgende Beitrag wurde am 08. 10. 2007, 08:59 Uhr von ChrisL veröffentlicht.
Hallo
Ich weiss das Problem ist für Profis banal, aber ich probiere schon seit einer Stunde und bekomme es einfach nicht hin.
Beispiel:
if ($kriterium1 == 0)
if ($kriterium2 == 0) {
Codezeile;
Codezeile;
}
else {
Codezeile;
Codezeile;
}
Wie setzte ich die Klammern richtig, damit sich 'else' auf $kriterium1 bezieht und nicht auf $kriterium2 wie im Moment.
Logisch fände ich...
if ($kriterium1 == 0) {
if ($kriterium2 == 0) {
Codezeile;
Codezeile;
}
} else {
Codezeile;
Codezeile;
}
... aber so geht es gar nicht.
Danke schonmal im Voraus und sorry falls ich Euch mit der Frage langweile ;)
cu
Chris
Der folgende Beitrag wurde am 08. 10. 2007, 09:18 Uhr von seth veröffentlicht.
gudn tach!
> Wie setzte ich die Klammern richtig, damit sich 'else' auf $kriterium1 bezieht und nicht auf $kriterium2 wie im Moment.
>
> Logisch fände ich...
>
> if ($kriterium1 == 0) {
>
> if ($kriterium2 == 0) {
> Codezeile;
> Codezeile;
> }
>
> } else {
> Codezeile;
> Codezeile;
> }
>
> ... aber so geht es gar nicht.
dann liegt der fehler woanders, denn dein logikverstaendnis truegt dich nicht. am beispiel wird's klarer:if(A){
// A
if(B){
// A && B
}else
// A && not B
}
}else
// not A
}
die else-zweige koennen unabhaengig voneinander weggelassen werden, also z.b. (in deinem fall)if(A){
// A
if(B){
// A && B
}
}else
// not A
}
oder (was du nicht willst)if(A){
// A
if(B){
// A && B
}else{
// A && not B
}
}
prost
seth
Der folgende Beitrag wurde am 08. 10. 2007, 09:55 Uhr von ChrisL veröffentlicht.
Hallo seth
Vielen Dank!
War einer von der Sorte 'vor lauter Bäume den Wald nicht sehen'.
PHP und VBA verträgt sich schlecht, eine der Codezeilen war...
$ts = now();
Thx again und gute Woche
Chris
Der folgende Beitrag wurde am 08. 10. 2007, 12:11 Uhr von Dennis veröffentlicht.
Hi ChrisL,
> PHP und VBA verträgt sich schlecht, eine der Codezeilen war...
> $ts = now();
Tipp: Schalte error_reporting auf E_ALL oder E_STRICT, dann bekommst du beim Entwickeln auch vernünftige Fehlermeldungen, in diesem Fall wäre etwas à la "Fatal Error: call undefined function now" oder so gekommen. Unter den Datums- und Zeitfunktionen im PHP-Manual findet sich dann schnell die gewünschte Funktion ;-)
Viele Grüße,
~ Dennis.
--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Weblog: Comboboxen mit Javascript - apr_dbd_mysql unter Debian - so geht es doch \[Update]
Der folgende Beitrag wurde am 08. 10. 2007, 12:30 Uhr von dedlfix veröffentlicht.
echo $begrüßung;
> Tipp: Schalte error_reporting auf E_ALL oder E_STRICT, dann bekommst du beim Entwickeln auch vernünftige Fehlermeldungen,
E_STRICT ist ein einzelnes Bit, E_ALL hingegeben steht (derzeit = PHP5) für alles andere außer E_STRICT. Beide Konstanten sind also nichts das alternativ verwendet werden könnte, was dein "oder" aber normalerweise ausdrückt. Hinzu kommt noch, dass E_STRICT nur für OOP relevant wird, also für einen Großteil der PHP-Anwender nicht relevant wird.
Zusammengefasst: E_ALL für das error_reporting ist beim Entwickeln immer eine gute Idee, auch schon unter PHP4. E_STRICT kann man meist unbeachtet lassen. Außerdem braucht es noch ein eingeschaltetes display_errors, wenn man die Meldungen in der Ausgabe sehen möchte.
echo "$verabschiedung $name";
Der folgende Beitrag wurde am 08. 10. 2007, 23:44 Uhr von ChrisL veröffentlicht.
Nachmals Danke für die Hilfe allerseits. Ist echt nett und ich weiss die Unterstützung zu schätzen.
Der folgende Beitrag wurde am 09. 10. 2007, 09:39 Uhr von Blaubart veröffentlicht.
Tach.
> Hinzu kommt noch, dass E_STRICT nur für OOP relevant wird, also für einen Großteil der PHP-Anwender nicht relevant wird.
Mir fallen spontan noch Meckereien zu date.timezone/TZ/date_default_timezone_set() und "only variables should be assigned by reference" ein, die ebenfalls als E_STRICT laufen aber nicht direkt mit OOP zu tun haben.
--
Once is a mistake, twice is Jazz.
Der folgende Beitrag wurde am 09. 10. 2007, 12:02 Uhr von dedlfix veröffentlicht.
echo $begrüßung;
> > Hinzu kommt noch, dass E_STRICT nur für OOP relevant wird, also für einen Großteil der PHP-Anwender nicht relevant wird.
>
> Mir fallen spontan noch Meckereien zu date.timezone/TZ/date_default_timezone_set() und "only variables should be assigned by reference" ein, die ebenfalls als E_STRICT laufen aber nicht direkt mit OOP zu tun haben.
Danke für die Ergänzung. Die Übergabe von Nicht-Variablen per Referenz ist mir nur bei PHP 4.4.x auf die Füße gefallen, und da war/ist das eine E_NOTICE-Meldung. E_STRICT gibt es ja erst in PHP 5.
Bei date() & co. ist es mir auch noch nicht aufgefallen, denn ich hatte E_STRICT wegen des Einsatzes von alter Fremdsoftware zunächst nicht aktiviert. Die Date and Time Functions wären dann also nach meinem jetzigen Erkenntnisstand etwas, bei dem auch weniger fortgeschrittene Programmierer mit E_STRICT in Berührung kommen.
Für mich bleibt E_STRICT dennoch ein Nice-to-have, das keine so gravierenden Vorteile wie E_ALL bringt.
echo "$verabschiedung $name";
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4