Zusammenfassung der Grundkenntnisse der PHP_php-Grundlagen
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
$a = 'Hallo ';
$hello = 'Hallo alle zusammen';
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
';// letztes Element aus dem Array entfernen
$c = array_pop($numbers);
print_r($numbers);
echo '
';
// Schiebe das Element an das letzte Array
$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
echo 'SERVERdetails:
' ;'
echo 'SERVER_NAME: '.$_SERVER['SERVER_NAME'].'
' br /> ;';
echo 'SERVER_PORT: '.$_SERVER['SERVER_PORT'].'
';
';
echo '
';
echo 'Seitendetails:
'; _SERVER['REMOTE_ADDR'].'
'
echo 'REMORT_PORT: '.$_SERVER['REMOTE_PORT'].'
'; .$_SERVER ['REQUEST_URI'].'
';'; : '. $_SERVER['REQUEST_METHOD'].'
echo 'REQUEST_TIME: '.$_SERVER['REQUEST_TIME'].'
echo 'HTTP_USER_AGENT: '.$_SERVER['HTTP_USER_AGENT'].'
'
echo '
';
6.variable_scope (Bereich der globalen statischen Variablen)
static_variables.php
php
function test()
{
$a = 0;
echo $a;
$a++;
}
test();
echo '
';
test();
echo '
';
test();
echo '
';
echo '
';
function test1()
{
static $a = 0;
echo $a;
$a++;
}
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
$a = 1;
$b = 2;
Funktion Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
echo '
';
$a = 1;
$b = 2;
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
$a = 'arist';
$b = $ a ;
$b = 'ming';
echo „Mein Name ist:{$a}. Aber meine Mutter nennt mich {$b}.
“; echo '
'; „Mein Name ist:{$a}. Und meine Mutter nennt mich {$b}.
“
Dieses Konzept kann so verstanden werden, meine Mutter nennt mich Mingming, aber mein Chef wird mich Xiaoyan nennen; egal, ob es offensichtlich ist oder Xiaoyan, ich bin es.
'&' Und so nennen uns verschiedene Leute Aliase, also Referenzen, was äquivalent ist zu $a = {ich oder der Wert im Speicher}, $b = {Anführer, Mutter oder Variable}
Durch & zeigt $b auf den einzigen und gleichen Wert von $a im Speicher. Egal, wie Ihr Chef Sie nennt oder wie Ihre Mutter Sie nennt, Sie sind Sie selbst. Nur der Name ist anders.
Nachdem wir die Referenz übergeben haben, ändern wir den Wert von $b und auch den Wert von $a.
8. Referenzvariable an Funktion übergeben (Referenzparameter an Funktion übergeben)
Code kopieren
Der Code lautet wie folgt:
Wenn wir Parameter per Referenz an Funktionen übergeben, ist dies nicht der Fall Übergeben von Variablen wird kopiert, aber der tatsächliche Wert
Wenn wir also die Funktion ref_test($a) aufrufen, wurde der Wert von $a geändert, sodass am Ende $a = 20; >9. Referenzfunktionsrückgabewert (Referenzfunktionsrückgabewert)
reference_function_return_value.php
Code kopieren
Der Code lautet wie folgt:
function &increment(){
static $var = 0;
$var++
return $var; $a =& inkrement(); // 2
$a++; // 4
echo "a: {$a }";
Deklarieren Sie zunächst eine Referenzfunktion. Deklarieren Sie im Funktionskörper eine statische Variable $var, die den erhöhten Wert speichern kann;
$a =& increment( ); Diese Anweisung ist der Rückgabewert der Variablen $a Referenzfunktion
ist derselbe wie die vorherige Referenzvariable this $ a = & $b;
Inkrement() und $a zeigen also beide auf denselben Wert.
Weitere Details
Objekt OOP
1.Schwerwiegender Fehler: Verwendung von $this, wenn nicht im Objektkontext
Dieser Fehler passiert definitiv leicht, wenn Sie OOP zum ersten Mal lernen, weil es ein Konzept gibt, das Sie nicht wirklich verstehen. Die Zugänglichkeit einer Klasse kann auch als Umfang bezeichnet werden. Man kann sich auch vorstellen, dass ein Chinese keiner Kultur angehört und keine Fremdsprachen spricht (vielleicht weiß er ein wenig, aber er kann es nicht). Kommunizieren Sie mit Ausländern, weil sie nicht im selben Land geboren sind. Wie ist der Fehler aufgetreten? Schauen Sie sich das Beispiel unten an:
static function getFire( ) {
return $this-> fire ; / / false
}
static function getWater( ) {
return $self::water ; // false
}
static function Fire( ) {
return self: :$fire ; // Stellen Sie sicher, dass Sie self verwenden, um auf die statische Eigenschaft zuzugreifen, bevor Sie die Funktion aufrufen
}
}
/*
Schwerwiegender Fehler: Verwendung von $this when nicht im Objektkontext
*/
//echo Trones::getFire( ) ;
//echo Trones::getWater( ) ;
// korrekt
echo Trones: :Fire( );
echo "
" ;
$trones = new Trones ;
$trones->fire ; // Hinweis: Undefinierte Eigenschaft: Trones::$fire ( basierend auf verschiedenen Fehlereinstellungen) einfach ist Fehler
echo Trones::$fire ;
Dieser Fehler ist sehr klassisch und sehr praktisch. Schauen wir uns zunächst die Definition von Statik an:
Durch die Deklaration von Klasseneigenschaften oder -methoden als statisch kann auf sie zugegriffen werden, ohne dass eine Instanziierung der Klasse erforderlich ist. Auf eine als statisch deklarierte Eigenschaft kann nicht mit einem instanziierten Klassenobjekt zugegriffen werden (eine statische Methode jedoch schon).
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.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
