If-Fragen....(2)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abarbeitung
absolute grundlage
achtung
anfragen
beitrag
deutsch
eingebauten regeln
fragen
intern meistens
laden
logical
manual
mathematik
operator
sache
stehen
variable
vergleich
-
Hi, ich hab mal 2 Fragen:
Ich will "xyz" sagen, wenn Variable 1 und 2 auf 3 stehen.
Wie geht das?
Ich kann es zwar so machen, aber nur mit einer Variable:
<?
if($1 == "3")
echo "xyz"; ?>
aber wie baue ich da die 2. Variable ein?
2. Frage:
Kann ich irgendwie machen, ohne dass die Seite neu geladen wird dass eine Variable sich ?ndert, zur Zeit mach ich das so:
<a href="?box=2">Box2</a>
alles klar, danke schon im Voraus, FeelIt -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1. absolute grundlage. du solltest dich mal mit dem manual auf www.php.net vertraut machen (gibts dort auch auf deutsch). n dem fall brauchst du speziell
http://www.php.net/manual/de/language.operators.logical.php
2. bitte erklaer genauer was du willst? wenn du mit php html-code ausgegeben hast, kannst du den nicht mehr aendern ohne die seite neu zu laden. -
Zur ersten Frage:
<?php
if($1 == 3 AND $2 == 3){ echo "xyz"; }
?>
(ich weiss nicht, ob es auch geht, wenn man 3 in Anf?hrungzeichen setzt. Aber ohne geht es ganz bestimmt)
Edit: War wohl ein bisschen zu sp?t...
Beitrag ge?ndert am 12.07.2005 20:55 von jonulum -
Zur ersten Frage:
<?php
if($1 == 3 AND $2 == 3){ echo "xyz"; }
?>
(ich weiss nicht, ob es auch geht, wenn man 3 in Anf?hrungzeichen setzt. Aber ohne geht es ganz bestimmt)
Edit: War wohl ein bisschen zu sp?t...
Beitrag ge?ndert am 12.07.2005 20:55 von jonulum
Nix zu sp?t....hat mir geholfen! Thx, auch an keuloo!
2. Frage hat sich erledigt!
FeelIt -
Bei der 3 kannst du gerne Anf?hrungszeichen verwenden, das ?ndert nichts.
Achtung bei OR statt AND!
Wenn du OR verwendest musst du es so schreiben:
if(($1 == "3") OR ($2 == "3")) { //Code }
W?rdest du es nicht machen, so w?rde dir zweite Anfrage automatisch als true angesehen werden.
LG,
nwo -
Ist das mit dem OR nur so kompliziert zu machen, wenn man Anf?hrungszeichen setzt, oder ist das generell so? W?re mir noch nie aufgefallen.
-
Die Anf?hrungszeichen sind bei der OR-Sache egal.
Wie es bei den anderen Operatoren aussieht kann ich leider nichts dazu sagen.
LG,
nwo -
Die verschiedenen Operatoren haben einen unterschiedlichen Rang.
http://de.php.net/manual/de/language.operators.php#language.operators.precedence
Das ist so ?hnlich wie in der Mathematik ("Punktrechnung geht vor Strichrechnung"). In PHP kommt logisches UND (and, &&) vor ODER (or, ||). Aber vor beiden sind noch die Vergleichsoperatoren (==, !=, >=, ...) dran.
Demzufolge ist
a == 1 or b == 2
dasselbe wie
(a == 1) or (b==2)
Um die Abarbeitung gegen?ber den eingebauten Regeln zu ?ndern, setzt man Klammern. Man kann sie aber auch setzen, um die ?bersicht zu erh?hen.
=======================================
3 und "3" sind in PHP sehr wohl zwei verschiedene Werte. Das bemerkt man, wenn man den Identit?ts-Vergleichs-Operator "===" benutzt:
if(3 === "3") print("Identisch!");
else print("Nicht identisch!");
Das erste ist eine Ganzzahl (Integer), das zweite ein String mit einem Zeichen, das eine Drei darstellt. PHP konvertiert diese Werte zwar intern meistens richtig (z.B. wenn der Wert ausgegeben wird), aber manchmal wird auch unterschieden (z.B. bei den Vergleichsfunktionen).
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage