jcmax
@jcmax
Супер Пользователь

Как использовать рекурсию в замыкания в языке php?

добрый день уважаемые.

Тут колдую с php и возник вопрос как использовать рекурсии в php

например у меня есть массив многоуровневый и я хочу использовать рекурсию в замыкании.

код ниже пытаюсь в песочнице запустить и непроходит почему, не понять PHP sandbox

<?php

$array = array(
	'row1' => array(
		'row1.1' => 0001.12,
		'row1.2' => false,
		'row1.3' => 0001.12,
	),
	'row2' => array(
		'row2.1' => 'this is row 2.1',
		'row2.2' => 'this is row 2.2',
	),
	'row3' => array(
		'row3.1' => 'this is row 3.1',
		'row3.2' => 'not null',
	),
);

function recursive($input) {

	$closure = function() use (&$input) {
		foreach ($input as $key => $value) {
			if (is_array($value)) {
				$closure();
			} else {
				echo $value;
			}
		}
	}

	$closure();
}

recursive($array);
  • Вопрос задан
  • 342 просмотра
Решения вопроса 1
0xD34F
@0xD34F
function recursive(&$input) {
  $closure = function(&$input) use (&$closure) {
    foreach ($input as $key => &$value) {
      if (is_array($value)) {
        $closure($value);
      } else {
        echo $value;
      }
    }
  };

  $closure($input);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы