How to modify external variable from inside recursive function using userdata argument.
<?php
$arr = [
'one' => ['one_one' => 11, 'one_two' => 12],
'two' => 2
];
$counter = 0;
array_walk_recursive( $arr, function($value, $key, $counter) {
$counter++;
echo "$value : $counter";
}, $counter);
echo "counter : $counter";
array_walk_recursive( $arr, function($value, $key, &$counter) {
$counter++;
echo "$value : $counter";
}, $counter);
array_walk_recursive( $arr, function($value, $key) use (&$counter) {
$counter++;
echo "$value : $counter";
}, $counter);
echo "counter : $counter";