Einige dieser PHP-Konzepte sind zunächst schwer zu verstehen. Ich liste sie alle auf, in der Hoffnung, einigen Menschen zu helfen und Hindernisse auf dem Weg nach vorne zu beseitigen.
1. Variable Variablen
variable_variables.php
echo $$a.'
';
$b = 'John';
$c = 'Mary';
$e = 'Joe';
$students = array('b','c','e');
echo ${$students[1]};
/*
foreach($students as $seat){
echo $$seat.'
';
}
$$var[1]
${$var[1]} für #1
*/
$a = 'hello';
Weisen Sie der Variablen $a „Hallo“ zu, also $$a = ${hello} = $hello = 'Hallo an alle';
Bei $$students[1] führt dies zu Verwirrung und der PHP-Interpreter kann es möglicherweise nicht verstehen. Obwohl „[“ einen höheren Operator hat, wird das Ergebnis möglicherweise nicht ausgegeben.
Eine gute Schreibweise ist: ${$students[1]} = ‚Mary‘;
2. Array-Funktion (Array-Funktion)
array_functions.php
';
$numbers = array(1,2,3,4,5,6);
print_r($numbers);
echo '< ;br / >';
// verschiebt das erste Element aus einem Array
// der Index wird zurückgesetzt
$a = array_shift($numbers);
print_r($numbers);
// gibt die Anzahl des Arrays zurück und setzt den Array-Index zurück
$b = array_unshift($numbers, 'first');
echo '
b: '.$b.'
';
print_r($numbers);
echo '
pop & push
';$d = array_push($numbers, 'last');
echo 'd: '.$d.'
';
Weitere Array-Funktionsreferenzen
3. Datum und Uhrzeit (Uhrzeit und Datum)
Es gibt 3 Möglichkeiten, eine Unix-Zeit zu erstellen (Anzahl der Sekunden vom 1.1.1970 bis heute)
time(); Gibt den aktuellen Zeitstempel zurück
mktime($hr, $min, $sec, $month, $day, $mktime(6,30,0,5,22 , 2012) Gibt den Zeitstempel von 2012 zurück. 22.05. 6:30:00
strtotime($string); strtotime("+1 Tag") Gibt den Zeitstempel dieser Zeit von morgen zurück, mehr 'last Monday' ' Lasy Year '
checkdate($month, $day, $year); Überprüfen Sie, ob ein Datum wahr ist. checkdate(5,32,2012) ? 'true' : 'false'; // return false
Nachdem wir den Zeitstempel erhalten haben, müssen wir ihn in einen lesbaren Zustand umwandeln, z. B. 22.05.2012
Wir haben zwei Methoden: date($format, $timestamp); )
Es wird empfohlen, den zweiten Typ zu verwenden, strftime("%Y-%m-%d %H:%M:%S"); 40
5. Servervariablen (Server- und Ausführungsumgebungsinformationen)
$_SERVER
server_variables.php
6.variable_scope (Bereich der globalen statischen Variablen)
static_variables.php
test();
echo '
';
test();
echo '
';
test();
echo '
';
echo '
test1();
echo '
';
test1();
echo '
';
test1();
echo '
';
Die Variable $a in der Funktion test() speichert das Ergebnis von $a++ nicht und wiederholte Aufrufe von test() erhöhen den Wert von $a nicht
Die Variable $a in der Funktion test1() deklariert staic $a = 0, was eine statische Variable ist.
Zitat: Eine statische Variable existiert nur in einem lokalen Funktionsbereich, verliert jedoch ihren Wert nicht, wenn die Programmausführung diesen Bereich verlässt.
Eine statische Variable kann nur im lokalen Funktionsbereich, also im Funktionskörper test1(), existieren, aber wenn das Programm den test1()-Bereich verlässt, verliert die statische Variable ihren Wert, also das $, nicht eine Variable wird um 1 erhöht; wenn test1() erneut aufgerufen wird, $a = 1;
global_variables.php
Funktion Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
echo '
Funktion Sum1()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
Sum1();
echo $b;
Zitat: In PHP müssen globale Variablen innerhalb einer Funktion als global deklariert werden, wenn sie in dieser Funktion verwendet werden sollen
Wenn diese Variablen in einer Funktion verwendet werden, müssen die globalen Variablen in dieser Funktion definiert werden. Dadurch kann viel Ärger vermieden werden.
Weitere Details
7.reference(reference)
variable_reference.php
Beispielbeschreibung:
Zeile 7 und Zeile 10 haben den gleichen Fehler gemacht. Der erste besteht darin, den Objektoperator für den Zugriff auf statische Variablen zu verwenden. Wenn Sie sich die Definition ansehen, ist $this eine Pseudovariable, die einem Objekt, einer Instanz, entspricht. Wenn Sie den Objektoperator -> verwenden, um darauf zuzugreifen, wird ein Fehler gemeldet.
Ebenso können Sie den statischen Operator :: nicht verwenden, um auf eine öffentliche Variable zuzugreifen. Der korrekte Zugriff sollte die Zeilen 14 und 25 sein, auf eine wird in der Definition der Klasse zugegriffen (self:: === Trones::), und auf die andere wird außerhalb der Klasse zugegriffen.
Für geerbte Klassen gelten ebenfalls die oben genannten Regeln.
Es gibt kürzlich eine sehr interessante Fernsehserie mit dem Titel „Game of Thrones“. Wir gehen davon aus, dass es drei Parteien, sieben Könige, einfache Leute und eine Drachendame gibt. Die drei kämpften unten um den Endsieg, der die Krone darstellte.
Die folgende Geschichte hat auch einen Titel: Klassensichtbarkeit (Sichtbarkeit) Wenn Sie die endgültige Antwort kennen, können Sie den Erklärungsteil überspringen.