Heim  >  Artikel  >  Backend-Entwicklung  >  PHP selbstaufrufende (rekursive) Beispielanalyse basierend auf der Schließungsimplementierungsfunktion

PHP selbstaufrufende (rekursive) Beispielanalyse basierend auf der Schließungsimplementierungsfunktion

黄舟
黄舟Original
2017-02-24 09:21:461403Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie PHP den Selbstaufruf (Rekursion) von Funktionen basierend auf Abschlüssen implementiert. Ich teile es Ihnen als Referenz wie folgt mit:

PHP-Verschlüsse werden möglicherweise nicht häufig verwendet, aber in einigen Situationen können Sie dennoch die Verwendung von PHP-Verschlüssen in Betracht ziehen, um bestimmte Funktionen wie Rekursion hier zu implementieren Lassen Sie uns darüber reden Verwenden von PHP-Verschlüssen zur Implementierung der Rekursion

//php闭包实现函数的自调用,也就是实现递归
function closure($n,$counter,$max){
  //匿名函数,这里函数的参数加&符号是,引址调用参数自己
  $fn = function (&$n,&$counter,&$max=1) use(&$fn){//use参数传递的是函数闭包函数自身
    $n++;
    if($n < $max){//递归点,也就是递归的条件
      $counter .=$n.&#39;<br />&#39;;
      //递归调用自己
      $fn($n,$counter,$max);
    }
    return $counter;
  };//记得这里必须加``;``分号,不加分号php会报错,闭包函数
  /*
  *这里函数closure的返回值就是调用闭包的匿名函数
  *而闭包函数,引用closure函数传进来的参数
  */
  return $fn($n,$counter,$max);
}
echo (closure(0,&#39;&#39;,10));



Dies ist eine einfache Funktion, die PHP-Verschlüsse verwendet, um die Rekursion zu implementieren Durch die Änderung der Funktion können viele Funktionen erreicht werden, beispielsweise eine unendliche Klassifizierung.

In Bezug auf die Verschlussfunktion im Inneren müssen wir uns tatsächlich nicht auf die externen Verschlussparameter beziehen. Wir können die Parameter der Verschlussfunktion innerhalb des Verschlusses festlegen.

Wir müssen den Wert der Abschlussfunktion nicht zurückgeben, da sich die Abschlussfunktion innerhalb der Abschlussfunktion befindet. Wir können Variablen im Abschluss festlegen und an die Abschlussfunktion übergeben und dann den Abschluss verwenden Um rekursiv zu erhalten, was wir wollen, werden die gewünschten Dinge im Array gespeichert, und dann wird die Abschlussfunktion verwendet, um die von der Abschlussfunktion erhaltenen Dinge zurückzugeben erhalten möchte.

Kurz gesagt, Sie müssen diese Abschlussfunktion nur verwenden, um das zu erreichen, was Sie möchten, und dann zurückgeben, was Sie benötigen. Es muss nicht unbedingt aus dem Rückgabewert der Abschlussfunktion ermittelt werden.


Das Obige ist der Inhalt der selbstaufrufenden (rekursiven) Beispielanalyse der PHP-Abschluss-basierten Implementierungsfunktion. Für weitere verwandte Inhalte achten Sie bitte auf PHP-Chinesisch Website (www.php.cn) !

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