suchen
HeimBackend-EntwicklungPHP-TutorialPHP-Sammlung allgemeiner Funktionen





1. Übergeben Sie eine beliebige Anzahl von Funktionsparametern

Bei der .NET- oder JAVA-Programmierung ist die Anzahl der Funktionsparameter im Allgemeinen festgelegt, in PHP ist dies jedoch möglich um eine beliebige Anzahl von Parametern zu verwenden. Das folgende Beispiel zeigt Ihnen die Standardparameter einer PHP-Funktion:

Php-Code
// Funktion mit zwei Standardparametern
function foo($arg1 = ”, $arg2 = ”) {
echo „arg1: $arg1n“;
echo „arg2: $arg2n“; hallo
arg2: world
*/
foo();
/* Ausgabe:
arg1:
arg2:
*/
Das folgende Beispiel ist PHP Die Verwendung unbestimmter Parameter verwendet die Methode ?func_get_args():
// Ja, die formale Parameterliste ist leer
function foo() {
// Ruft ein Array aller eingehenden Parameter ab
$args = func_get_args();
foreach ($args as $k => $v) {
echo „arg“.($k 1)..“: $vn“;
foo();
/* Es wird nichts ausgegeben*/
foo('hello'); 'hello', 'world', 'again');
/* Ausgabe
arg1: hallo
arg2: world
arg3: again
*/


2. Verwenden Sie glob(), um Dateien zu finden

Die Funktionsnamen der meisten PHP-Funktionen können ihren Zweck buchstäblich verstehen, aber wenn Sie ?glob() sehen, verstehen Sie möglicherweise nicht, was das ist Wird verwendet für. Tatsächlich ist glob() dasselbe wie scandir() und kann zum Suchen von Dateien verwendet werden. Bitte beachten Sie die folgende Verwendung:

PHP-Code
// Holen Sie sich alle Suffixe von PHP-Dateien
$files = glob('*.php');
print_r($files);
/* Ausgabe:
Array
(
[0] => ; phptest.php
[1] => pi.php
[2] => post_output.php
[3] => test.php
)


Sie können auch nach mehreren Suffixen suchen:

PHP-Code
// PHP-Dateien und TXT-Dateien abrufen
$files = glob('*.{php, txt}', GLOB_BRACE );
print_r($files);
/* Ausgabe:
Array
(
[0] => phptest.php
[1] = > pi.php
[2] => post_output.php
[3] => test.php
[4] => log.txt
)
*/


Sie können auch den Pfad hinzufügen:

PHP-Code
$files = glob('../images/ a*.jpg' );
print_r($files);
/* Ausgabe:
Array
(
[0] => ../images/apple.jpg
[1] = > ../images/art.jpg
)
*/


Wenn Sie den absoluten Pfad erhalten möchten, können Sie die Funktion ?realpath() aufrufen:

PHP-Code
$files = glob('../images/a*.jpg');
// wendet die Funktion auf jedes Array-Element an
$files = array_map('realpath' , $files);
print_r($files);
/* Ausgabe sieht aus wie:
Array
(
[0] => C:wampwwwimagesapple.jpg
[1 ] => C:wampwwwimagesart.jpg
)


3. Der Speicherrecycling-Mechanismus von PHP ist bereits sehr leistungsfähig Verwenden Sie ein PHP-Skript, um die aktuelle Speichernutzung zu ermitteln, rufen Sie die Funktion „memory_get_usage()“ auf, um die aktuelle Speichernutzung zu ermitteln, und rufen Sie die Funktion „memory_get_peak_usage()“ auf, um die maximale Speichernutzung zu ermitteln. Der Referenzcode lautet wie folgt:

PHP-Code
echo „Initial: „.memory_get_usage()“. /
//Speicher verwenden
for ($i = 0; $i $array []= md5($i);
}
/ / Halben Speicher löschen
for ($i = 0; $i unset($array[$i]);
echo „Final:“. memory_get_usage( )."
/* druckt
Final: 885912 bytes
*/
echo "Peak: ".memory_get_peak_usage()." bytes n"; Spitzenwert ausgeben
Spitzenwert: 13687072 Bytes
*/


4. Informationen zur CPU-Auslastung abrufen

Nachdem Sie die Speichernutzung ermittelt haben, können Sie auch getrusage() von PHP verwenden, um die CPU-Auslastung zu ermitteln. Diese Methode ist unter Windows nicht verfügbar.

PHP-Code
print_r(getrusage());
/* Ausgabe
Array
(
[ru_oublock] => 0
[ru_inblock] => ; 0
[ru_msgsnd] => 2
[ru_msgrcv] => ; 3864
[ru_minflt] => 94
[ru_majflt] => 0
[ru_nsignals] => 1
[ru_nvcsw] => 67
[ru_nivcsw] => ; 4
[ru_nswap] => 0
[ru_utime.tv_usec] => 0
[ru_utime.tv_sec] => 0
[ru_stime.tv_usec] => >[ru_stime.tv_sec] => 0
)
*/


Diese Struktur erscheint sehr unklar, es sei denn, Sie kennen die CPU sehr gut. Hier einige Erklärungen:

ru_oublock: Blockausgabeoperation
ru_inblock: Blockeingabeoperation
ru_msgsnd: gesendete Nachricht
ru_msgrcv: empfangene Nachricht
ru_maxrss: maximale residente Satzgröße
ru_ixrss: Gesamtgröße des gemeinsam genutzten Speichers
ru_idrss: Gesamtgröße des nicht gemeinsam genutzten Speichers
ru_minflt: Seitenrecycling
ru_majflt: Seitenungültigmachung
ru_nsignals: Empfangene Signale
ru_nvcsw: Aktiver Kontextwechsel
ru_nivcsw : passive Kontextumschaltung
ru_nswap: Swap-Bereich
ru_utime.tv_usec: Benutzermoduszeit (Mikrosekunden)
ru_utime.tv_sec: Benutzermoduszeit (Sekunden)
ru_stime.tv_usec: Systemkernelzeit (Mikrosekunden)
ru_stime.tv_sec: Systemkernelzeit? (Sekunden)

Um zu sehen, wie viel CPU Ihr Skript verbraucht, müssen wir uns die Werte „Benutzermoduszeit“ und „Systemkernelzeit“ ansehen. Die Sekunden- und Mikrosekundenteile werden separat bereitgestellt. Sie können den Mikrosekundenwert durch 1 Million dividieren und zum Sekundenwert addieren, um die Anzahl der Sekunden mit einem Bruchteil zu erhalten.

PHP-Code
// 3 Sekunden lang schlafen (nicht beschäftigt)
$data = getrusage();
echo „Benutzerzeit:“.
($data['ru_utime.tv_sec']
$data['ru_utime.tv_usec'] / 1000000);
echo „Systemzeit:“
($data['ru_stime.tv_sec ']
$data['ru_stime.tv_usec'] / 1000000);
/* Ausgabe
Benutzerzeit: 0,011552
Systemzeit: 0
*/


Schlaf beansprucht keine Systemzeit. Wir können uns das folgende Beispiel ansehen:

PHP-Code
// Schleife 10 Millionen Mal (beschäftigt)
for($i=0;$ i}
$data = getrusage();
echo „Benutzerzeit:“
($data['ru_utime.tv_sec']
$data [' ru_utime.tv_usec'] / 1000000);
echo „Systemzeit: „
Dies dauerte etwa 14 Sekunden CPU-Zeit, von denen fast alle Benutzerzeit waren, da es keine Systemaufrufe gab.
Systemzeit ist die Zeit, die die CPU damit verbringt, Kernel-Anweisungen bei Systemaufrufen auszuführen. Hier ist ein Beispiel:

PHP-Code
$start = microtime(true);
// rufe microtime etwa 3 Sekunden lang auf
while(microtime(true) – $start }
$data = getrusage();
echo „Benutzerzeit:“
($data['ru_utime.tv_sec']
$data['ru_utime.tv_usec '] / 1000000);
echo "Systemzeit: "
($data['ru_stime.tv_sec']
$data['ru_stime.tv_usec'] / 1000000); druckt
Benutzerzeit: 1.088171
Systemzeit: 1.675315
*/


Wir können sehen, dass das obige Beispiel mehr CPU verbraucht.

5. Systemkonstanten abrufen

PHP bietet sehr nützliche Systemkonstanten, mit denen Sie die aktuelle Zeilennummer (__LINE__), Datei (__FILE__), Verzeichnis (__DIR__) und Funktionsnamen abrufen können ( __FUNCTION__), Klassenname (__CLASS__), Methodenname (__METHOD__) und Namespace (__NAMESPACE__), ähnlich wie bei der C-Sprache.

Wir können davon ausgehen, dass diese Dinge hauptsächlich zum Debuggen verwendet werden, aber nicht unbedingt. Wir können beispielsweise ?__FILE__ verwenden, wenn wir andere Dateien einbinden (natürlich können Sie auch __DIR__ nach PHP 5.3 verwenden), wie folgt ist ein Beispiel.

PHP-Code
// Dies ist relativ zum Pfad des geladenen Skripts
// Es kann zu Problemen kommen, wenn Skripte aus verschiedenen Verzeichnissen ausgeführt werden
require_once('config/database.php');
// Dies ist immer relativ zum Pfad dieser Datei
//, egal wo sie eingefügt wurde
require_once(dirname(__FILE__) . '/config/database.php'); >Im Folgenden wird __LINE__ verwendet, um einige Debug-Informationen auszugeben, die Ihnen beim Debuggen des Programms helfen:

PHP-Code
// etwas Code
// …
my_debug(“eine Debug-Nachricht ", __LINE__);
/* Ausgabe
Zeile 4: eine Debug-Nachricht
*/
// noch etwas Code
// …
my_debug("another debug message" , __LINE__);
/* Ausgabe
Zeile 11: eine weitere Debug-Nachricht
*/
function my_debug($msg, $line) {
echo „Line $line: $msgn“; 🎜>}


6. Generieren Sie eine eindeutige ID

Viele Freunde verwenden md5(), um eine eindeutige Nummer zu generieren, aber md5() hat mehrere Nachteile: 1. Keine Reihenfolge, was zur Folge hat zu einer verringerten Sortierleistung in der Datenbank führen. 2. Zu lang und erfordert mehr Speicherplatz. Tatsächlich verfügt PHP über eine Funktion zum Generieren einer eindeutigen ID. Diese Funktion ist uniqid(). Das Folgende ist die Verwendung:

PHP-Code
// eindeutige Zeichenfolge generieren
echo uniqid();
/* Ausgabe
4bd67c947233e
*/
// Erzeuge eine weitere eindeutige Zeichenfolge
echo uniqid();
/* Ausgabe
4bd67c9472340
*/


Dieser Algorithmus wird basierend auf dem CPU-Zeitstempel generiert, also auf ähnliche Weise Zeit Innerhalb des Absatzes sind die ersten paar Ziffern der ID gleich, was auch die Sortierung der IDs erleichtert. Wenn Sie Duplikate besser vermeiden möchten, können Sie vor der ID ein Präfix hinzufügen, wie zum Beispiel:

PHP-Code
// Präfix
echo uniqid('foo_');
/* Ausgabe
foo_4bd67d6cd8b8f
*/
// hat mehr Entropie
echo uniqid(", true);
/* Ausgabe
4bd67d6cd8b926.12135106
*/
// Both
echo uniqid('bar_',true);
/* Ausgabe
bar_4bd67da367b650. 43684647
*/


7. Die Serialisierungsfunktion von PHP wird möglicherweise häufiger verwendet und ist häufiger anzutreffen, wenn Sie Daten in einer Datenbank oder Datei speichern müssen Sie können die Methoden serialize() und unserialize() in PHP verwenden, um Serialisierung und Deserialisierung zu implementieren. Der Code lautet wie folgt:

Php-Code
// Ein komplexes Array
$myvar = array(.
'hello',
42,
array(1,'two'),
'apple'
);
// Serialisierung
$string = serialize( $ myvar);
echo $string;
/* Ausgabe
a:4:{i:0;s:5:“hello“;i:1;i:42;i:2;a : 2:{i:0;i:1;i:1;s:3:“two“;}i:3;s:5:“apple“;}
*/
// Instanziierung in umgekehrter Reihenfolge
$newvar = unserialize($string);
print_r($newvar);
/* Ausgabe
Array
(
[0] => hallo
[1 ] => 42
[2] => Array
(
[0] => 1
[1] => zwei
)
[3 ] = > apple
)


Keine Sorge, PHP hat es bereits für Sie erledigt Die Funktionen json_encode() und json_decode() implementieren die Serialisierung des JSON-Formats. Der Code lautet wie folgt:

PHP-Code
// ein komplexes Array
$myvar = array(
' hallo',
42,
array(1,'two'),
'apple'
);
// in einen String konvertieren
$string = json_encode($myvar );
echo $string;
/* druckt
["hello",42,[1,"two"],"apple"]
*/
// Sie können es reproduzieren die ursprüngliche Variable
$newvar = json_decode($string);
print_r($newvar); >[1 ] => 42
[2] => Array
(
[0] => 1
[1] => zwei
)
3] = > Apple
)


8. String-Komprimierung

Wenn wir über Komprimierung sprechen, denken wir tatsächlich an Dateikomprimierung. Die Zeichenfolgenkomprimierung kann ebenfalls komprimiert werden. PHP bietet die Funktionen ?gzcompress() und gzuncompress():

Php code
$string =
“Lorem ipsum dolor sit amet, consectetur
adipiscing elit 🎜>adipiscing.Es ist wichtig, den Coaching-Prozess zu verfolgen. Einige
der Preis der Ullamcorper-Urne, die gezielt wurde. Auch bei den Massen
aber die hässliche Zeit der Trauer. Curabitur sed nibh eu elit
sanfte Hausaufgaben. Es ist das eigentliche Zuhause, die Konsequenz des Lebens
, um es von nun an zu dekorieren. In diesen großen Kindern
sagen wir uns, dass wir Coaching einsetzen sollen. Aber nicht meine Angst, sondern Lacinia
augue. Aber toll, es sei denn, dekoriere sanft in, weich
aber jetzt. Außerdem pünktlich zu den Hausaufgaben.  
Ich muss den Hendrerit Schlesicker nicht fürchten
denn das tue ich nicht. Wie erwartet gibt es keinen Euismod-See zum Trinken
, den die Mitglieder der Euismod-Urne haben. „;  
$compressed = gzcompress($string);  
echo „Originalgröße:“. strlen($string)..“n“;  
/* Originalgröße ausgeben
Originalgröße: 800
*/
echo „Komprimierte Größe:“. strlen($compressed)..“n“;  
/* 解光剧后后图像
Komprimierte Größe: 418 
*/  
// 解光剧 
$original = gzuncompress($compressed);  


fast 50 % Komprimierungsrate. Gleichzeitig können Sie auch die PHP-Funktion verwenden. blog-content-contain" style="font-size: 14px">

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Erläutern Sie das Konzept einer PHP -Sitzung in einfachen Worten.Erläutern Sie das Konzept einer PHP -Sitzung in einfachen Worten.Apr 26, 2025 am 12:09 AM

PhpSessionStrackUserDataacrossMultiplePageRequestsusesuseiquiTIdStoredInacookie.her'ShowtomagetheFectiv: 1) StartaSessionswithSession_start () und storateatain $ _Session.2) regeneratethessionSessionInoginWithSession_IDENT_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTE_IDENTEL

Wie schleifen Sie alle in einer PHP -Sitzung gespeicherten Werte durch?Wie schleifen Sie alle in einer PHP -Sitzung gespeicherten Werte durch?Apr 26, 2025 am 12:06 AM

In PHP können durch Sitzungsdaten in den folgenden Schritten iteriert werden: 1. Starten Sie die Sitzung mit Session_Start (). 2. Iterieren Sie durch die Foreach-Schleife durch alle Schlüsselwertpaare im $ _Session-Array. 3. Wenn Sie komplexe Datenstrukturen verarbeiten, verwenden Sie is_array () oder is_object () Funktionen und verwenden Sie print_r (), um detaillierte Informationen auszugeben. 4. Bei der Optimierung von Traversal kann Paging verwendet werden, um eine gleichzeitige Verarbeitung großer Datenmengen zu vermeiden. Auf diese Weise können Sie PHP -Sitzungsdaten in Ihrem tatsächlichen Projekt effizienter verwalten und verwenden.

Erklären Sie, wie Sie Sitzungen für die Benutzerauthentifizierung verwenden.Erklären Sie, wie Sie Sitzungen für die Benutzerauthentifizierung verwenden.Apr 26, 2025 am 12:04 AM

Die Sitzung realisiert die Benutzerauthentifizierung über den serverseitigen Statusverwaltungsmechanismus. 1) Erstellung der Sitzung und Erzeugung eindeutiger IDs, 2) IDs werden durch Cookies weitergeleitet, 3) Server speichert und greift auf Sitzungsdaten über IDs, 4) Benutzerauthentifizierung und Statusverwaltung zugeordnet und verbessert die Sicherheit und die Benutzererfahrung von Anwendungen.

Geben Sie ein Beispiel dafür, wie Sie den Namen eines Benutzers in einer PHP -Sitzung speichern.Geben Sie ein Beispiel dafür, wie Sie den Namen eines Benutzers in einer PHP -Sitzung speichern.Apr 26, 2025 am 12:03 AM

TostoreaussersnameInaphpSession, startTheSessionwithSession_Start (), thenAnthenameto $ _Session ['Benutzername']

Was sind einige häufige Probleme, die dazu führen können, dass PHP -Sitzungen scheitern?Was sind einige häufige Probleme, die dazu führen können, dass PHP -Sitzungen scheitern?Apr 25, 2025 am 12:16 AM

Gründe für einen Phpessionsfehler sind Konfigurationsfehler, Cookie -Probleme und Sitzungsablauf. 1. Konfigurationsfehler: Überprüfen Sie die richtige Sitzung und setzen Sie die korrekte Sitzung. 2. Kookie -Problem: Stellen Sie sicher, dass der Cookie korrekt eingestellt ist. 3.Sesion läuft ab: Passen Sie die Sitzung an.

Wie debuggen Sie Probleme im Zusammenhang mit Sitzungen in PHP?Wie debuggen Sie Probleme im Zusammenhang mit Sitzungen in PHP?Apr 25, 2025 am 12:12 AM

Zu den Methoden zur Debugg -Sitzungsprobleme in PHP gehören: 1. Überprüfen Sie, ob die Sitzung korrekt gestartet wird. 2. Überprüfen Sie die Lieferung der Sitzungs -ID; 3. Überprüfen Sie den Speicher und das Lesen von Sitzungsdaten. 4. Überprüfen Sie die Serverkonfiguration. Durch Ausgabe von Sitzungs-ID und Daten, Anzeigen von Sitzungsdateiinhalten usw. können Sie effektiv Diagnose und Lösen von Sitzungen im Zusammenhang mit Sitzungen diagnostizieren und lösen.

Was passiert, wenn Session_Start () mehrmals aufgerufen wird?Was passiert, wenn Session_Start () mehrmals aufgerufen wird?Apr 25, 2025 am 12:06 AM

Mehrere Anrufe bei Session_Start () führen zu Warnmeldungen und möglichen Datenüberschreibungen. 1) PHP wird eine Warnung ausstellen und veranlassen, dass die Sitzung gestartet wurde. 2) Dies kann zu unerwarteten Überschreibungen von Sitzungsdaten führen. 3) Verwenden Sie Session_Status (), um den Sitzungsstatus zu überprüfen, um wiederholte Anrufe zu vermeiden.

Wie konfigurieren Sie die Sitzungslebensdauer in PHP?Wie konfigurieren Sie die Sitzungslebensdauer in PHP?Apr 25, 2025 am 12:05 AM

Das Konfigurieren des Sitzungslebenszyklus in PHP kann durch Einstellen von Sitzungen erreicht werden. 1) Session.gc_maxLifetime steuert die Überlebenszeit der serverseitigen Sitzungsdaten, 2) Sitzung.cookie_Lifetime steuert den Lebenszyklus von Client-Cookies. Wenn der Keks auf 0 eingestellt ist, läuft es, wenn der Browser geschlossen ist.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools