2009-08-06 13 views
0

Ich habe gerade beschlossen, in PHP-Land zum Spaß zu wagen und zu lernen, lesen, dass PHP ist locker typisiert und dass $ var kann wiederverwendet werden ist das wahr, dass der Code unten kein Problem darstellen wird?PHP Variable Datentypen

$x = 996; 
$x = mysql_query("SELECT aString FROM table1"); 

die Variable x als int-Datentyp mit 996 gespeichert wird, dann nach der zweiten Zeile wird es als String-Datentyp mit der Zeichenfolge aus der Abfrage gespeichert?

Es wird keine Gießfehler geben?

+0

Auf einer Seite zur Kenntnis, nicht mysql_query keinen String zurück. Es gibt eine MySQL-Ergebnis-ID zurück, bei der es sich im Allgemeinen um eine Ganzzahl handelt, die sich auf eine bestimmte zwischengespeicherte Ergebnismenge bezieht. – Amber

Antwort

10

Sie haben Recht; das ist die Definition von "locker typisiert". Dies ist jedoch möglicherweise nicht die beste Vorgehensweise.

http://drupaler.co.uk/blog/baby-dont-you-loose-your-type-me/66 ist eine gute Lesung zu Ihrem Thema.

+0

Genau die Verwendung desselben Variablennamens verwirrt nur Personen, die den Code lesen müssen. – rpjohnst

+0

Danke Ich werde das lesen. – jr3

3

Es wird keine Fehler sein, außer dass die zweite Zeile zeigt keinen String geben, mysql_query einen internen PHP-Typ eine resource (in der Regel eine Art von undurchsichtigem Griff/Zeiger für Bibliotheksfunktionen)

+0

+1 Danke Paul! – jr3

1
genannt zurück

Es wird keine Gießfehler geben?

Richtig!

JALF es gut erklärt here