Vergleich im Vergleich?

PowerCheat

Erfahrenes Mitglied
Hallo gibt es Problme wenn ichfolgende Abfrage mache?

PHP:
if (isset($_POST["int"]) > 0) { echo "ok";}

Oder ist das machbar?

Ich würde ja zu Problemen tendieren, weil isset ja true (1) zurückgibt wenn gesetz.
 
Was macht das für Sinn?
Lies doch mal die doku...

http://de.php.net/isset

isset liefert nur nen bool wert und kein int - Wie du schon erkannt hast.

Ob es in PHP funktioniert weiß ich nicht. Aber in C würde es gehen weil false = 0 ist und true alles ist was ungleich 0 ist.
Eigentlicb basieren ja alle "höheren" programmiersprachen auf C - also kommt drauf an wie es implementiert ist. Teste
das doch einfach selbst...

Aber rein logisch halte ich das für verwirrend!
Ist ja das selbe wie

PHP:
if (isset($_POST["int"]) != false) { echo "ok";}
 
Dieser Vergleich ist zwar möglich, allerdings auch unnötig und sollte der Verständlichkeit wegen auch vermieden werden. Folgendes reicht völlig aus, da isset() bereits nur boolesche Werte zurückgibt:
PHP:
if (isset($_POST['int'])) {
	echo 'ok';
}
 
Tun sie nicht? :)

Also irgendwie muss ja geschriebener Quelltext von Programmen zu Maschinencode kompiliert werden.

Hab ich mich wohl geirrt :)
Aber eventuell klärst du uns ja auf :P

lg
 
Ich verstehe auch nichts mehr - ich dachte einfach die höheren Programmiersprachen nehmen einem einfach das Schreiben von gewissen Routinen ab (automatisches reservieren von Speicher etc.) um Fehlern vorzubeugen und das ganze Programmieren einfacher zu gestalten. Was genau passiert und wie das passiert weiß ich natürlich nich.

Aber auch interpretierte Sprachen müssen Operationen ausführen - und diese werden doch einfach nur zur Laufzeit kompiliert. In Maschinencode müssen sie doch trotzdem übersetzt werden... Und ich dachte das würde auf unterer ebene wieder von einer art C-Compiler geschehen - grob ausgedrückt.

lg
 
Hi,

wieviel C da noch in den Tiefen drinsteckt, weiß ich nicht, das ist nicht so mein Fachgebiet. Aber die Eigenschaften der Programmiersprache C haben nichts mit den Eigenschaften der Programmiersprache zu tun, die vielleicht von einem in C geschriebenen Compiler in Maschinencode übersetzt werden kann.

LG
 
Zuletzt bearbeitet:
Zurück