Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Einführung in anonyme Funktionen in PHP

Eine kurze Einführung in anonyme Funktionen in PHP

怪我咯
怪我咯Original
2017-07-12 14:42:221383Durchsuche

Anonyme Funktionen (Anonyme Funktionen), auch Abschlüsse genannt, ermöglichen das vorübergehende Erstellen einer Funktion ohne angegebenen Namen. Am häufigsten als Wert des (Callback)-Parameters der Callback-Funktion verwendet. Natürlich gibt es auch andere Anwendungen.

Anonyme Funktionen werden derzeit über die Closure-Klasse implementiert.

Die Abschlussfunktion kann auch als Wert der Variablen verwendet werden. PHP konvertiert diesen Ausdruck automatisch in eine Objektinstanz der integrierten Klasse Closure. Die Methode zum Zuweisen eines Abschlussobjekts zu einer Variablen ist dieselbe wie die Syntax der gewöhnlichen Variablenzuweisung, und am Ende muss ein Semikolon hinzugefügt werden:

In diesem Artikel werden hauptsächlich Abschlüsse in PHP vorgestellt (Anonyme Funktion). ) Kurze Analyse, dieser Artikel enthält ein Anwendungsbeispiel und einen Ausführungseffizienztest. Freunde, die es benötigen, können sich auf

Verwendungsmethode

Anpassung erforderlich IntegerDer Wert im Gruppenelement

Der Code lautet wie folgt:

$data = range(0, 100);//想要每个元素的值都加上.html的后缀
$suffix = '.html';
function makeSuffix($str, $suffix)
{
    return $str . $suffix;
}
$new_data = array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);

Die Struktur des Elements muss geändert werden

Der Code lautet wie folgt:

$arr = [
    [
        'id'=>'',
        'name'=>'',
        'create_time'=>'',
    ],
];
$new_data = array_map(function($item) {
    return ['id'=>$item['id'],'name'=>$item['name']];
}, $arr);
//Wenn Sie

foreach verwenden, müssen Sie auch eine Nullzeit erstellen Variable in der -Schleife und geben Sie den erforderlichen Wert ein. Der Wert wird dieser Variablen zugewiesen

Ausführungseffizienz

Der Code lautet wie folgt:

$data = range(0, 50000)
//1
foreach ($data as &$value) {
    $value = makeSuffix($value, $suffix);
}
//2
foreach ($data as $value) {
    $new[] = makeSuffix($value, $suffix);
}
//3
array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);
Nach 5W-Ausführungen erhöht sich die Ausführungszeit in den meisten Fällen sequentiell. Eine der Ausführungsergebniszeiten ist wie folgt


Der Code lautet wie folgt:

1:0.0260009765625
2:0.038002014160156
3:0.047003030776978

Fazit

Der Abschlusscode ist relativ elegant, aber die Logik ist leicht zu verwechseln, und das ist es auch Die Ausführungseffizienz ist im Vergleich zu anderen Methoden relativ gering und sollte daher mit Vorsicht verwendet werden. Es wird empfohlen, es zu verwenden, wenn die Codestruktur chaotisch ist und gekapselt werden muss.

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in anonyme Funktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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