<?

function CounterClosure() {
  $currentcounter=0;

  return [
    'inc'=>
    function() use (&$currentcounter) {
      $currentcounter++;
      echo "$currentcounter\n";
    },

    'dec'=>
    function() use (&$currentcounter) {
      $currentcounter--;
      echo "$currentcounter\n";
    },
  ];

}

$counter=CounterClosure();

$counter['inc']();
$counter['inc']();
$counter['inc']();
$counter['dec']();
$counter['dec']();
$counter['inc']();
$counter['inc']();
$counter['inc']();

?>
