подскажите возможно так сделать? Не могу разобраться как это работает ?
$arr = [1,2,3,[11,12,13],5,6,7,8];
function myCount($arr, $deep = 1)
{
$res = "";
// $x = $deep;
foreach($arr as $key => $val){
if (is_array($val)) {
$tmp = myCount($val, $deep += 1);
$res .= $tmp . " - ";
} else {
$res .= $val * $deep . " - ";
}
}
return $res;
}
print_r(test($arr)); // 1 - 2 - 3 - 22 - 24 - 26 - - 10 - 12 - 14 - 16 -
Вот тестовая функция где я опыты ставлю.
При запуске функции
myCount переменная
deep = 1, во время рекурсивного вызова функции
myCount переменная
deep увеличивается на 1. А дальше, я ожидаю что выходя из внутреннего массива [11,12,13] переменная
$deep станет снова единицей. Но она остается двойкой! А мне надо чтоб $deep всегда в каждой функции не менялся. Не важно сколько бы уровней был массив . Не пойму такое возможно реализовать? Киньте ссылку где посмотреть. почитать?