


Teilen von PHP-Kerntechnologieproblemen in PHP-Interviewfragen
In unserem vorherigen Artikel haben wir eine Zusammenfassung von PHP-Interviewfragen sowie eine Zusammenfassung von Thinkphp- und Notizenfragen in PHP-Interviewfragen vorgestellt. Diese sind für Anfänger und Freunde mit wenig Berufserfahrung ausreichend oder sogar Freunde, die seit drei oder vier Jahren arbeiten, die PHP-Interviewfragen, die wir zuvor vorgestellt haben, reichen offensichtlich nicht aus, deshalb werden wir heute die PHP-Kerntechnologie in den PHP-Interviewfragen zusammenfassen!
PHP-Kerntechnologie
1 Bitte schreiben Sie einen Teil PHP-Code, um sicherzustellen, dass mehrere Prozesse gleichzeitig erfolgreich dieselbe Datei schreiben können Zeit
Kernidee: Sperren
<?php $fp = fopen("lock.txt","w+"); if (flock($fp,LOCK_EX)) { //获得写锁,写数据 fwrite($fp, "write something"); // 解除锁定 flock($fp, LOCK_UN); } else { echo "file is locking..."; } fclose($fp);?>
2.Schreiben Sie eine Funktion, um Dateien so effizient wie möglich von einer Standard-URL abzurufen mögliche Erweiterung, zum Beispiel: http://www.php.cn/abc/de/fg.php?id=1 PHP oder .php müssen entfernt werden
<?php // 方案一 function getExt1($url){ $arr = parse_url($url); //Array ( [scheme] => http [host] => www.php.cn [path] => /abc/de/fg.php [query] => id=1 ) $file = basename($arr['path']); $ext = explode('.', $file); return $ext[count($ext)-1]; } // 方案二 function getExt2($url){ $url = basename($url); $pos1 = strpos($url,'.'); $pos2 = strpos($url,'?'); if (strstr($url,'?')) { return substr($url,$pos1+1,$pos2-$pos1-1); } else { return substr($url,$pos1); } } $path = "http://www.php.cn/abc/de/fg.php?id=1"; echo getExt1($path); echo "<br />"; echo getExt2($path);?>
Verwandt Fragen: Verwenden Sie mehr als fünf Methoden, um die Erweiterung einer Datei zu erhalten: dir/upload.image.jpg Um .jpg oder jpg herauszufinden, müssen Sie die PHP-eigene Verarbeitungsfunktion verwenden wiederholt und kann in eine Funktion gekapselt werden, zum Beispiel get_ext1(filename), getext2(file_name)
3. Beschreiben Sie kurz das Implementierungsprinzip der unendlichen Klassifizierung im Forum
Erstellen Sie eine Kategorietabelle wie folgt:
CREATE TABLE category( cat_id smallint unsigned not null auto_increment primary key comment'类别ID', cat_name VARCHAR(30)NOT NULL DEFAULT''COMMENT'类别名称', parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT'类别父ID')engine=MyISAM charset=utf8;
Schreiben Sie eine Funktion, die rekursiv durchlaufen wird, um eine unendliche Klassifizierung zu erreichen
<?php function tree($arr,$pid=0,$level=0){ static $list = array(); foreach ($arr as $v) { //如果是顶级分类,则将其存到$list中,并以此节点为根节点,遍历其子节点 if ($v['parent_id'] == $pid) { $v['level'] = $level; $list[] = $v; tree($arr,$v['cat_id'],$level+1); } } return $list; } ?>
4. Schreiben Sie einen regulären Ausdruck, um den Inhalt der Webseite zu filtern. Alle JS/VBS-Skripte (d. h. entfernen Sie das Skript-Tag und seinen Inhalt)
Javascript-Skriptreferenz filtern:
<?php header("content-type:text/html;charset=utf-8"); $script = "以下内容不显示:<script type='text/javascript'>alert('cc');</script>"; $pattern = '/<script[^>]*?>.*?</script>/si'; echo preg_replace($pattern, "脚本内容", $script);//以下内容不显示:脚本内容 ?>
Schreiben Sie ein Skript, das mehrere PHP-Funktionen in Ebenenverzeichnissen erstellen kann
<?php /** * 创建多级目录 * @param $path string 要创建的目录 * @param $mode int 创建目录的模式,在windows下可忽略 */ function create_dir($path,$mode = 0777) { if (is_dir($path)) { # 如果目录已经存在,则不创建 echo "该目录已经存在"; } else { # 不存在,创建 if (mkdir($path,$mode,true)) { echo "创建目录成功"; } else { echo "创建目录失败"; } } }?>
6. Was ist der Garbage Collection-Mechanismus von PHP?
PHP kann den Speicher automatisch verwalten und die Reinigung ist kein Objekt mehr.PHP verwendet einen einfachen Garbage-Collection-Mechanismus namens Referenzzählung. Jedes Objekt enthält einen Referenzzähler und jede mit dem Objekt verbundene Referenz erhöht den Zähler um eins. Wenn die Referenz den Wohnraum verlässt oder auf NULL gesetzt wird, wird der Zähler um 1 dekrementiert. Wenn der Referenzzähler eines Objekts Null erreicht, weiß PHP, dass Sie das Objekt nicht mehr verwenden müssen und gibt den von ihm belegten Speicherplatz frei.
7. Schreiben Sie eine Funktion, die alle Dateien und Unterordner in einem Ordner durchlaufen kann
<?php function my_scandir($dir){ $files = array(); if(is_dir($dir)){ if ($handle = opendir($dir)) { while (($flie = readdir($handle))!== false) { if ($flie!="." && $file!="..") { if (is_dir($dir."/".$file)) { $files[$file] = my_scandir($dir."/".$file); } else { $files[] = $dir."/".$file; } } } closedir($handle); return $files; } } }?>
8. So ermitteln Sie ein Zeichen in PHP string ist ein gültiges Datumsmuster: 2007-03-13 13:13:13. Der Code darf nicht mehr als 5 Zeilen umfassen
<?php function checkDateTime($data){ if (date('Y-m-d H:i:s',strtotime($data)) == $data) { return true; } else { return false; } } // 示例 $data = '2015-06-20 13:35:42'; var_dump(checkDateTime($data));//bool(true) $data = '2015-06-36 13:35:42'; var_dump(checkDateTime($data));//bool(false)?>
9. Wie erhalte ich den Schlüsselwert eines Arrays in PHP?
Verwenden Sie key(), um den Schlüsselnamen des aktuellen Elements im Array abzurufen, und verwenden Sie current(), um den Wert des aktuellen Elements zurückzugeben.Verwenden Sie array_keys(), um alle Schlüsselnamen im Array abzurufen.
Verwenden Sie die foreach-Struktur foreach($arr as key=>value), um den Schlüsselnamen bzw. den Schlüsselwert über Schlüssel und Wert zu erhalten.
10. Wenn es sich bei der Vorlage um eine Smart-Vorlage handelt. So verwenden Sie eine Abschnittsanweisung, um eine Gruppe namens $data anzuzeigen. Zum Beispiel:
$data=array(0=>array('id'=>8,'name'=>'name1'),1=>array('id'=>10,'name'=>'name2'),2=>array('id'=>15,'name'=>'name3') );
Den Code auf die Vorlagenseite schreiben? Wie wird es angezeigt, wenn die foreach-Anweisung verwendet wird?
<{section name=test loop=$data start=0 step=1}> id:<{$data[test].id}><br/> name:<{$data[test].name}> <br/> <br/> <{sectionelse}> 数组为空 <{/section}>
<{foreach from=$data item=test}> id:<{$test.id}><br/> name:<{$test.name}> <br/> <br/> <{foreachelse}> 数组为空 <{/foreach}>
Zusammenfassung:
In diesem Artikel fassen wir für Sie hauptsächlich die Kerntechnologie von PHP in PHP-Interviewfragen zusammen. Für Anfänger mag es etwas ausführlich sein, aber für erfahrene Freunde ist dies in der Tat eine gute Wahl. Hoffe das hilft!Verwandte Empfehlungen:
Rekrutierungssaison 2017: Super Zusammenfassung von PHP-Interviewfragen!
Das obige ist der detaillierte Inhalt vonTeilen von PHP-Kerntechnologieproblemen in PHP-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
