Dieser Artikel zeigt Ihnen hauptsächlich die Fallstricke auf, in die PHP geraten kann. Wir teilen die Antwort mit Ihnen anhand eines kleinen Beispiels und hoffen, allen zu helfen.
Ich wurde heute gefragt:
$var = 'test'; if (isset($var['somekey'])) { echo 'reach here!!!'; }
Wird die Ausgabe „Hierher kommen!!!“ ausgegeben? ---Natürlich nicht. Ich antwortete ohne nachzudenken.
Tatsächlich bin ich in eine Falle getappt! Es wird ausgegeben! Wenn Sie nicht in die Falle getappt sind, herzlichen Glückwunsch, Sie müssen nicht nach unten schauen.
Jetzt analysieren wir es. Nun, da isset da ist, welchen Wert hat es? Drucken wir es aus:
var_dump($var['somekey']); //=>output: string(1) "t"
ist das Zeichen „t“, das das erste Zeichen von $var ist. Haben Sie es hier herausgefunden?
Da die Variable $var eine Zeichenfolge ist, wissen Sie, wenn Sie die Sprache C gelernt haben, dass es sich um ein Array vom Typ char handelt, sodass wir $var[0] $var[1] $var verwenden können [$i]. ..Erhalten Sie das $i+1-Zeichen von $var. Warum hat „somekey“ also gerade das erste Zeichen bekommen? Dies liegt daran, dass PHP hier eine implizite Typkonvertierung durchführt und den String hier in den Typ int konvertiert. Wenn Sie die Funktion intval('somekey') ausprobiert haben, wissen Sie, dass das Ergebnis 0 ist, also $var['somekey']Endlich ist es $var[0]. Endlich habe ich 't' verstanden.
Das obige ist der detaillierte Inhalt vonFallstrick 1, in den PHP geraten könnte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!