Variabeln
Engel07
- php
Hallo
Ich habe erst gerade mit PHP angefangen und nun eine Frage
zu Variabeln. Leider hat mich Googeln nicht weitergebracht.
Darum dachte ich mir, ich wende mich mal an Euch.
Was ist der Unterschied von folgender Variable:
$test=1;
$test='1';
$test="1";
Ich gehe davon aus, dass "1" die Zahl in einen Text umwandelt.
Stimmt diese Annahme? Wie verhält sich die 1 in den anderen
Schreibweisen?
Gruss aus der CH
Engel07
Moin Engel07,
$test=1;
Das initialaisiert die Variable als integer, allerdings kann sich das bei einer neuen Zuweisung ändern. Bedeutet, würdest du nocheinmal sagen: $test='1', dann würde der Typ in char geändert.
$test='1';
$test="1";
Beides ist char, wobei diese Zuweisung ="1" geparst wird, unötiger Weise
regds
Mike©
Danke für die rasche und ausführliche Antwort!
Gruss
Engel07
Hallo zusammen,
Beides ist char
nein, beides sind Strings.
wobei diese Zuweisung ="1" geparst wird, unötiger Weise
Bedingt, siehe http://forum.de.selfhtml.org/archiv/2003/8/54141/#m300888.
Grüße
David
hi,
wobei diese Zuweisung ="1" geparst wird, unötiger Weise
Bedingt, siehe http://forum.de.selfhtml.org/archiv/2003/8/54141/#m300888.
nein, nicht bedingt - unbedingt :-)
strings in doppelten anführungszeichen werden geparst, strings in einfachen hochkommata nicht.
http://www.php.net/manual/de/language.types.string.php#language.types.string.parsing
dass es von der performance her in einfachen scripten idR. keinen bemerkbaren unterschied machen wird, sei dahingestellt.
gruß,
wahsaga
Moin David,
Beides ist char
nein, beides sind Strings.
Könntest Du mir den Unterschied erklären? Ist char kein String?
Wenn Du in der Datenbank einen Typ zuordnest dann gibt es IMHO keinen Typ String, sondern CHAR, VARCHAR, TEXT, LONGTEXT.
wobei diese Zuweisung ="1" geparst wird, unötiger Weise
Bedingt, siehe http://forum.de.selfhtml.org/archiv/2003/8/54141/#m300888.
Wenn hierzu kein Kommentar gekommen wäre, dann hätte mich das verwundert ;-)
regds
Mike©
hi,
Beides ist char
nein, beides sind Strings.Könntest Du mir den Unterschied erklären? Ist char kein String?
char = character bezeichnet in den meisten programmiersprachen genau _ein_ zeichen.
ein string hingegen besteht aus einem oder mehreren zeichen, benötigt des weiteren noch eine ende-kennzeichen oder einen speicherplatz für seine länge.
char entspricht hingegen vom speicherplatzbedarf einem small int(eger).
und in vielen programmiersprachen werden beide auch ähnlich gehandhabt, d.h. du kannst einem char-feld den zahlenwert 65 zuweisen, und bekommst dann wenn du es ausgeben lässt 'A' angezeigt.
allerdings macht PHP auch hier wieder nicht diese explizite unterscheidung, wie sie andere programmiersprachen kennen.
Wenn Du in der Datenbank einen Typ zuordnest dann gibt es IMHO keinen Typ String, sondern CHAR, VARCHAR, TEXT, LONGTEXT.
mysql != PHP
gruß,
wahsaga
Moin wahsaga,
mysql != PHP
*ACK* Ich gestehe char mit String in einen Topf geworfen zu haben.
In meinem Kopf ist char = String, wobei deine Ausführungeng über das, in freier Wildbahn lebende :-) , char natürlich vollkommen korrekt sind.
regds
Mike©