Рекурсивные функции в PHP | Базовый курс PHP-7

  Рет қаралды 8,567

Andrievskii Andreii

Andrievskii Andreii

Күн бұрын

Пікірлер: 43
@Atikan37
@Atikan37 11 ай бұрын
Спасибо большое 😊
@aleksandrsh3893
@aleksandrsh3893 Жыл бұрын
Отличный курс, Спасибо код дз с лекцией
@Petrov1ch1011
@Petrov1ch1011 3 жыл бұрын
Отличный курс!
@ИльяСорокин-ж2п
@ИльяСорокин-ж2п 4 жыл бұрын
Про рекурсии очень хорошо объясняется в уроках курса "C# Starter 2013" на сайте ITVDN. Ты не объяснил того что попадая на рекурсию мы попадаем не в туже самую функцию а в её 'копию' , а после завершения последней копии функции завершая предыдущие копии функции мы возвращаемся обратно по адресам возврата к оригинальной функции для её завершения. Потому нельзя делать бесконечную рекурсию - будет заполнен стек. В общем кому интересно может глянуть
@shyma_grasious
@shyma_grasious 3 жыл бұрын
вот поэтому использую цикл вайл вместо рекурсии)
@haminidzinanusubalieva6622
@haminidzinanusubalieva6622 3 жыл бұрын
ну раз там лучше обясняют, здесь то что делаешь
@Anvar_Batalov
@Anvar_Batalov Жыл бұрын
Благодарю!
@shyma_grasious
@shyma_grasious 3 жыл бұрын
я вот пробовал в рекурсии но цикл вайл мне удобней и понятней, да и с точки зрения переполнения стека - безопаснее). Поэтому использую условие остановки цикла прямо в его условии для имитации рекурсии
@arshakmuradyan543
@arshakmuradyan543 2 жыл бұрын
иногда удобнее использовать рекурсию
@Make_25
@Make_25 Жыл бұрын
Я который перехожу в 8 класс уже работаю с факториалом, помню как в 5 классе я изучал python и там было тема про дискриминант и квадратные уравнение на секунду на помню это вообще тема 8 класса потом прихожу к репетитору и узнаю что я все знаю это было для меня так легко то что D = B^2 *4aс 😎 если че это не мой ак
@chumbuzzy4694
@chumbuzzy4694 Жыл бұрын
И как успехи сейчас? Это вообще классно, что так рано увлекся этим
@sreggh
@sreggh 3 жыл бұрын
спасибо за видео!
@АндрійСадовий-и6ш
@АндрійСадовий-и6ш 4 жыл бұрын
спасибо за такой курс
@ИванРыбалко-р5ь
@ИванРыбалко-р5ь 4 жыл бұрын
Супер!! Спасибо! :)
@almaz9776
@almaz9776 4 жыл бұрын
Классное видео ,спасибо. А можно вопрос? будет уроки про БД?
@andrievskii
@andrievskii 4 жыл бұрын
Да будут!
@kabukijoe99
@kabukijoe99 4 жыл бұрын
спасибо помогло.
@Kenny_buzz
@Kenny_buzz 2 жыл бұрын
Спасибо. Тут как-то уже чувствуется беспомощность с второй задачей, нифига не понятно как это сотворить и какой это должно иметь вид
@andrievskii
@andrievskii 2 жыл бұрын
Это сложная тема, просто пропускайте и идите далее, в нужное время придет понимание
@Kenny_buzz
@Kenny_buzz 2 жыл бұрын
@@andrievskii окей. Спасибо за совет;)
@2009Evgenia
@2009Evgenia 2 жыл бұрын
Рекурсивные функции могут потребовать много оперативной памяти. Лучше заменить циклами: расчёт и запись в переменную, которая занимает мало памяти, расчёт и запись в переменную. А как работают рекурсивные функции? Там, возможно, под все переменные всех вызванных функций отводится место в оперативной памяти. Хотя, кто знает, может, есть какая-то оптимизация кода.
@developerno1820
@developerno1820 3 жыл бұрын
Для тех кто не справился с дз: ПРАКТИКА: function recurse($num){ if($num > 100){ echo ($num-=5) . ""; recurse($num); }else return; } recurse(200); ЗАДАЧА СО * $massiv = [ "Friends" => ["Petya", "Lena", "Yura"], "Comrades" => ["Anya", "Katya", "Pasha"], "Relatives" => ["Sasha", "Vasya", "Zhora"] ]; function recarray($arr) { foreach($arr as $key => $value) { if(!is_array($value)) echo $value . ""; recarray($value); } } recarray($massiv);
@Kenny_buzz
@Kenny_buzz 2 жыл бұрын
а где тут рекурсия в задании 2?
@developerno1820
@developerno1820 2 жыл бұрын
@@Kenny_buzz функция вызывается внутри функции, а это и есть рекурсивная функция
@Kenny_buzz
@Kenny_buzz 2 жыл бұрын
@@developerno1820 ну да, точно
@nurlannadzhavov1054
@nurlannadzhavov1054 2 жыл бұрын
Спасибо со второй задачей, целый день ломал голову, что и как делать, постоянно ошибку выводил.
@Александр-л8э9й
@Александр-л8э9й 2 жыл бұрын
Для передачи аргумента в функцию только в качестве массива можно переписать код в стиле if else: if(!is_array($value)){ echo $value . ""; } else { recarray($value); }
@LesoVitek
@LesoVitek 2 жыл бұрын
//Уменьшение числа до 100 function doSotki($num){ if($num>100){ echo $num . ""; $num-=5; doSotki($num); }else return; } doSotki(200); // Задача со *. Создаем 3-хмерный массив $arr = ['animal'=>['horse'=>['name'=>'Гриша', 'color'=>'Гнедой', 'sex'=>'Конь', 'age'=>'12', ], 'cat'=>['name'=>'Васька', 'color'=>'Рыжий', 'sex'=>'Кот', 'age'=>'7', ], 'dog'=>['name'=>'Кузьма', 'color'=>'Белый', 'sex'=>'Кобель', 'age'=>'5', ], ], 'plant'=>['tomat'=>['name'=>'Бычье сердце', 'color'=>'Розовый', 'size'=>'Огромный', 'type'=>'Тепличный', ], 'cucumber'=>['name'=>'Отелло', 'color'=>'Зеленый', 'size'=>'Небольшой', 'type'=>'Тепличный', ], 'potato'=>['name'=>'Синеглазка', 'color'=>'Фиолетовый', 'size'=>'Средний', 'type'=>'Открытый грунт', ], ], ]; function recArray(...$arr){ foreach($arr as $key => $val){ if(is_array($val)) { // Проверка на вложенный массив echo "Массив $key содержит: "; recArray(...$val); }else { echo $key . " - " . $val . ""; } } } recArray(...$arr);
@solong4347
@solong4347 4 жыл бұрын
Доброго времени суток. У меня вопрос, может поможете. Учу основы синтаксис пхп, ооп немного месяца 4. Вроде примерно материал понял, но как работать с проектами, как их создавать пока не ясно. Может подскажите, что следует ещё выучить , знать или быть может планируете видео снять на эту тему. Заранее спасибо за ответ.
@ДавидПоляруш-д4ь
@ДавидПоляруш-д4ь 3 жыл бұрын
год прошёл. Ну и что выяснил?
@Marketing_top
@Marketing_top 2 жыл бұрын
@@ДавидПоляруш-д4ь 2 года прошло, ну что выяснил?
@Ланченсо
@Ланченсо 11 ай бұрын
@@Marketing_top 3 года прошло, что удалось выяснить?
@ИванБабенко-щ9т
@ИванБабенко-щ9т 8 ай бұрын
​@@Ланченсо пишу роботов ии, создаю вселенные
@Фанат-щ9ь
@Фанат-щ9ь 4 жыл бұрын
Честно функции с foreach проще чем factorial($num - 1) просто потому что не понятно что происходит.
@romanchubich2013
@romanchubich2013 4 жыл бұрын
Полчаса жаждал узнать в чём же преимущество и зачем это нужно.:) (Шутка) На самом деле я хотел узнать, как получить из рекурсии данные без глобальной переменной.=)
@VETaL855
@VETaL855 3 жыл бұрын
ПОМОГИТЕ С ЗАДАЧЕЙ СО *
@sreggh
@sreggh 3 жыл бұрын
/*Создайте многомерный массив или используйте с прошлых занятий готовый Напишите рекурсивную функцию обхода этого массива с выводом его элементов*/ $aray = array( // создал в функции массив (хотя нужно, чтобы массив был вне функции, но я не заморачивался, главное - чтобы сама функция работала) 'nicuk' => 'Nicky', 'niceek' => 'Nickqe', 'joy' => array('weight' => 20, 'nane' => 'Joy','family' => 'Fox'), 'tom' => array('weight' => 30, 'nane' => 'Tom','family' => 'Nix'), 'nick' => 'Nick' ); function foo5($eee){ // создал функцию foreach ($eee as $key => $value) { // создал цикл, который разбивает массив на ключ ($key) и значение ($value) if (is_array($eee)) // написал условие1: если $array является массивом, то мы выполняем нижеследующее условие { if (is_array($key)) // условие1: если $key (которая у нас раньше уже приняла значение ключа (через foreach) является массивом), то выполняется условие2 { foreach ($key as $keys => $valure) // условие2: цикл разбивает $key на ключ ($keys) и значение ($valure) print_r ($keys); // и выводит их как ключ и значение и между ними двоеточие echo " : "; print_r ($valure); echo ''; foo5(); // а потом все возвращается в начало функции }else { // сработает, если условие2 false print_r ($key); echo " : "; print_r ($value); echo ''; } } } } foo5($aray); //вывели функцию // думаю еще можно косметически подправить, но смысл задания был не в этом :)
@ДавидПоляруш-д4ь
@ДавидПоляруш-д4ь 3 жыл бұрын
@@sreggh твой код но более красиво написан. До этого все задания со звёздочками за 10 минут делал, но тут впервые впал в ступор не понимая зачем тут рекурсия и как перебирать строковые елементы масива без форич
@chronofagt
@chronofagt 2 жыл бұрын
@@sreggh Спасибо большое за пример, всё сидел и думал, но ничего кроме банального перебора через форич не приходило в голову, а этот код отлично залетел)
@aizerbox123
@aizerbox123 Жыл бұрын
@@sreggh ты молодец.
Вложенные и динамические функции в PHP | Базовый курс PHP-7
15:39
Полиморфизм, абстракция в PHP | Базовый курс PHP-7
21:49
Андрей Андриевский
Рет қаралды 9 М.
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
AI - агенты - всё…?! Мой прогноз
12:22
Крипта с Даши
Рет қаралды 2,1 М.
Замыкания в PHP | Базовый курс PHP-7
15:46
Андрей Андриевский
Рет қаралды 8 М.
Сессии в PHP | Базовый курс PHP-7
18:16
Андрей Андриевский
Рет қаралды 18 М.
Зачем нужен DTO (Data Transfer Object), и что это такое!? На примере Symfony (PHP)
14:15
Наследование в PHP (ООП) | Базовый курс PHP-7
25:25
Андрей Андриевский
Рет қаралды 6 М.
Рекурсия в Javascript. Цикл без цикла
16:30
Александр Дудукало
Рет қаралды 4,6 М.
JSОN-формат в PHP | Базовый курс PHP-7
16:23
Андрей Андриевский
Рет қаралды 8 М.
НТМL-форма и ее обработчик на PHP | Базовый курс PHP-7
25:50
Андрей Андриевский
Рет қаралды 8 М.
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН