Heim > Artikel > Backend-Entwicklung > PHP muss Wissenspunkte lernen (wenig Wissen)
Dieser Artikel fasst hauptsächlich einige nützliche Kenntnisse in PHP zusammen und gibt sie als Referenz und zum Lernen weiter. Werfen wir einen Blick auf die detaillierte Einführung:
Bestimmen Sie, ob die PHP-Funktion vorhanden ist
Wenn wir eine benutzerdefinierte Funktion erstellen und die Verwendung variabler Funktionen verstehen, verwenden wir häufig function_exists, um sicherzustellen, dass die vom Programm aufgerufene Funktion vorhanden ist, um festzustellen, ob die Funktion vorhanden ist. Dieselbe method_exists kann verwendet werden, um zu erkennen, ob eine Klassenmethode vorhanden ist.
<?php function func() { } if (function_exists('func')){ echo 'exists'; } ?>
Unabhängig davon, ob die Klasse definiert ist, können Sie class_exists verwenden
class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); }
Es gibt viele solcher Prüfmethoden in PHP, z B. ob die Datei existiert, file_exists usw.
$filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; }
2. Variablenfunktionen von PHP-Funktionen
Die sogenannte Variablenfunktion bedeutet, die Funktion über den Wert aufzurufen der Variablen, da der Wert der Variablen veränderlich ist, sodass Sie verschiedene Funktionen aufrufen können, indem Sie den Wert einer Variablen ändern. Es wird häufig in Rückruffunktionen, Funktionslisten oder zum Aufrufen verschiedener Funktionen basierend auf dynamischen Parametern verwendet. Die Methode zum Aufrufen einer Variablenfunktion besteht darin, dem Variablennamen Klammern hinzuzufügen.
function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数
Variablenfunktionen können auch zum Aufrufen von Methoden für Objekte verwendet werden
class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func();
Statische Methoden Dynamisch Aufrufe können auch über Variablen erfolgen
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法 //静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。 class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed();
3. Erweiterte Funktionen von PHP-Klassen und -Objekten
Objektvergleich, wenn zwei Objekte derselben Klasse vorhanden sind einer Instanz gleich sind, können Sie zur Beurteilung den Vergleichsoperator == verwenden. Wenn Sie beurteilen müssen, ob zwei Variablen auf dasselbe Objekt verweisen, können Sie zur Beurteilung den Kongruenzoperator === verwenden.
class Car { } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //false 对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。 class Car { public $name = 'car'; public function __clone() { $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b);
Objektserialisierung: Das Objekt kann über die Serialisierungsmethode in eine Zeichenfolge serialisiert, zum Speichern oder Übertragen von Daten verwendet und dann bei Bedarf an die Serialisierung übergeben werden deserialisiert die Zeichenfolge zur Verwendung in ein Objekt.
class Car { public $name = 'car'; } $a = new Car(); $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $b = unserialize($str); //反序列化为对象 var_dump($b);
4. Ermitteln Sie die Länge der Zeichenfolge im PHP-Format
//php中有一个神奇的函数,可以直接获取字符串的长度,这个函数就是strlen()。 $str = 'hello'; $len = strlen($str); echo $len;//输出结果是5 //strlen函数对于计算英文字符是非常的擅长,但是如果有中文汉字,要计算长度该怎么办? //可以使用mb_strlen()函数获取字符串中中文长度。 $str = "我爱你"; echo mb_strlen($str,"UTF8");//结果:3,此处的UTF8表示中文编码是UTF8格式,中文一般采用UTF8编码
5 string of string
Wenn es einen String $str = '99.9'; gibt, wie kann dieser String 99,90 werden?
Wir müssen PHPs formatierte Zeichenfolgenfunktion sprintf() verwenden
Funktionsbeschreibung: sprintf (Format, zu konvertierende Zeichenfolge)
Rückgabe: gut formatiert Die Zeichenfolge
$str = '99.9'; $result = sprintf('%01.2f', $str); echo $result;//结果显示99.90
Erklären Sie, was das Format
%01.2f im obigen Beispiel bedeutet?
1. Dieses %-Symbol bedeutet den Anfang. Wenn es vorne steht, bedeutet das, dass das angegebene Format begonnen hat. Das heißt, das „Startzeichen“, bis das „Konvertierungszeichen“ erscheint, endet das Format.
2. Was auf das %-Symbol folgt, ist 0, ein „Lückenfüllzeichen“, was bedeutet, dass eine leere Position mit 0 aufgefüllt wird.
3. Was auf 0 folgt, ist 1. Diese 1 legt fest, dass alle Stringbelegungen mehr als 1 Ziffer haben müssen (der Dezimalpunkt ist auch eine Ziffer).
Wenn Sie 1 in 6 ändern, beträgt der Wert von $result 099,90
Da nach dem Komma zwei Ziffern stehen müssen, ergibt 99,90 insgesamt 5 Stellen, jetzt brauchen wir 6 Platzhalter, also füllen Sie sie mit Nullen.
4. Die .2 (Punkt 2) nach %01 ist leicht zu verstehen. Sie bedeutet, dass die Zahl nach dem Komma zweistellig sein muss. Wenn der Wert von $str zu diesem Zeitpunkt 9,234 beträgt, beträgt der Wert von $result 9,23.
Warum fehlt 4? Denn hinter dem Komma darf und darf es nach den oben genannten Regelungen nur 2 Stellen haben. Der Wert von $str belegt jedoch 3 Nachkommastellen, sodass die Mantisse 4 entfernt wird und nur 23 übrig bleiben.
5. Abschließend endet mit f „Konvertierungszeichen“.
6. PHP-String-Escape-Funktion
PHP-String-Escape-Funktion addslashes()
Funktionsbeschreibung: Wird zum Escapezeichen von Sonderzeichen verwendet und gibt einen String zurück.
Rückgabe Wert: eine maskierte Zeichenfolge
$str = "what's your name?"; echo addslashes($str);//输出:what\'s your name?
Das obige ist der detaillierte Inhalt vonPHP muss Wissenspunkte lernen (wenig Wissen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!