Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung von Beispielen für die Verwendung von Schließungen und Beispielen für Ausführungseffizienztests in PHP
Dieser Artikel stellt hauptsächlich eine kurze Analyse von Abschlüssen (anonyme Funktionen) in PHP vor. Dieser Artikel enthält ein Anwendungsbeispiel und einen Ausführungseffizienztest.
Abschlüsse werden auch anonyme Funktionen genannt, die in PHP5.3 eingeführt wurden.
Verwendungsmethode
Sie müssen den Wert im Gruppenelement integer anpassen
Der Code lautet wie folgt 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); //如果是用foreach还需要在循环里面建立零时变量,把需要的值赋给这个变量
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 ab den Ergebnissen 1-3 in den meisten Fällen die Ausführungszeit. und die Ausführungsergebniszeit eines von ihnen ist wie folgt
Der Code lautet wie folgt:
1:0.0260009765625 2:0.038002014160156 3:0.047003030776978
Schlussfolgerung
Die Der Abschlusscode ist relativ elegant, aber die Logik ist leicht zu verwechseln und die Ausführungseffizienz ist im Vergleich zu anderen Methoden relativ gering. Er sollte 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 vonAusführliche Erläuterung von Beispielen für die Verwendung von Schließungen und Beispielen für Ausführungseffizienztests in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!