Zum Inhalt springen

Anonyme Funktion innerhalb Return Anweisung einer Funktion

<?php

function multiply($x) {
  return function ($y) use ($x) {
  return str_repeat($y, $x);
  };
}

$a = multiply(3);
$b = multiply(2);

echo $a(2) . $b(3); //22233

//Zum Verständnis
var_dum($a);
/*
object(Closure)#1 (2) {
  ["static"]=>
  array(1) {
    ["x"]=>
    int(3)
  }
  ["parameter"]=>
  array(1) {
    ["$y"]=>
    string(10) "<required>"
  }
}
*/

Kommentare sind geschlossen, aber Trackbacks und Pingbacks sind möglich.