- Синтаксис PHP
- Как работают PHP скрипты
- Что такое PHP скрипт
- Вывод чисел и строк в PHP
- Вывод HTML кода в PHP
- Функции в PHP
- Необходимость закрывающего тега в PHP
- Сокращённый синтаксис открывающего тега в PHP
- Комментарии в PHP
- Итого
- Функции в PHP
- Анатомия функций
- Аргументы функции и область видимости
- php вывод текста и переменной | Особенности
- Какие кавычки правильно использовать для вывода текста в PHP
- Встраиваем вывод из PHP в HTML
- Функции в PHP
- Пользовательские функции: пишем свою первую функцию
- Области видимости
- Параметры функции: передача аргументов по ссылке и по значению
- Передача параметров по ссылке
- Начинаем использовать тайп-хинтинг (type hinting) в PHP 7
- Строгая типизация
- Функции без аргументов
- Функция внутри функции
- Рекурсивные функции
Синтаксис PHP
Как работают PHP скрипты
Наверняка ты знаком с принципом работы радиоуправляемых машинок. Нажимаешь вперёд — машинка едет, нажимаешь влево — машинка меняет направление колёс.
PHP работает точно также. Ты пишешь команды одну за другой, а PHP последовательно их исполняет.
Что такое PHP скрипт
PHP-скрипт — это обычный текстовый файлик с расширением .php . Точно такой же, как html и css.
Но есть одно важное отличие:
Скрипты запускаются только через http-запросы в браузере. Это значит, что для запуска скрипта script.php необходимо в адресной строке браузера написать site.ru/script.php
Если скрипт не работает — проверь текущий URL. Если там будет что-то вроде file:///D:/openserver/domains/site.ru/script.php — это значит, что ты пытаешься не перейти на страницу сайта, а открыть сам PHP файлик в браузере. Это неправильно.
Веб-серверы чаще всего настроены так, что при заходе на главную страницу (например site.ru ) автоматически запускается файл index.php или index.html, лежащий в корне сайта.
Создай в корневой папке сайта файл с названием index.php и открой его в своём текстовом редакторе. При наличии файла index.html его нужно удалить.
Если у тебя пока нет текстового редактора — рекомендую лёгкий и бесплатный Notepad++, он гораздо удобней встроенного в Windows блокнота.
Обязательно следи за кодировкой скриптов. Кодировка должна быть либо UTF-8 без BOM (если такая доступна в твоём редакторе), либо просто UTF-8.
Вывод чисел и строк в PHP
Команды PHP пишутся между тегами и ?> , например:
Команда echo отвечает за вывод информации на экран. После оператора указывается значение, которое нужно вывести.
Чтобы вывести текст, его нужно указать в одинарных или двойных кавычках:
Команды в PHP разделяются точкой с запятой. Для удобства чтения каждую команду принято писать с новой строки:
Результат в браузере:
Вывод HTML кода в PHP
HTML-код можно перемешивать с командами PHP:
Также HTML код можно подставить в PHPшную строку:
Результат в браузере:
Мы можем как угодно совмещать PHP код и HTML теги:
Функции в PHP
Функция — это команда, которая выполняет какие-либо действия, например расчёты, управление файлами и т.д.
Определить функцию просто — у неё после названия идут круглые скобки:
Функция phpinfo() выводит на экран информацию с текущими настройками PHP.
Некоторые функции ожидают, что им передадут какое-нибудь значение. Например, функция округления ceil() ожидает число, которое она округлит:
Функция ceil() получает переданное нами значение 91.5 , обрабатывает его (округляет до 92) и возвращает результат. А команда echo получает возвращённое функцией значение и выводит его на экран. Результатом работы этого скрипта будет 92 .
Функции будут подробно рассмотрены в отдельном уроке.
Необходимость закрывающего тега в PHP
Если после PHP команд нет HTML или любого другого вывода на экран, то мы можем не использовать закрывающий тег ?> :
Сокращённый синтаксис открывающего тега в PHP
Вместо вы можете написать просто . Полезно для тех случаев, когда нам нужно подставить значение между HTML тегами, например:
Кроме этого, мы можем заменить тег на более короткую версию :
Использование тега вызывало множество споров в среде PHP разработчиков. Точку в этом вопросе поставили создатели языка PHP: начиная с PHP 7.4 короткий тег объявлен устаревшим, а в PHP 8 его уже не будет.
По этой причине я не рекомендую использовать короткий тег .
Это не относится к тегу , его можно спокойно использовать в своих проектах.
Комментарии в PHP
Однострочные комментарии в PHP пишутся после символа # или // и действуют до конца строки:
Многострочные комментарии размещаются между /* и */ :
Обратите внимание, многострочные комментарии нельзя вкладывать друг в друга:
Итого
PHP скрипт — это текстовый файл с расширением .php, в котором между тегами и ?> указываются команды PHP.
Важно следить за кодировкой скриптов и выбирать либо UTF-8 без BOM, либо просто UTF-8.
Для вывода каких-либо значений в браузер используется команда echo, либо сокращённый синтаксис :
Если после PHP-кода нет никакого вывода, закрывающий тег ?> можно опустить.
Функции в PHP указываются с круглыми скобками в конце:
Также в PHP можно добавлять однострочные и многострочные комментарии:
Источник
Функции в PHP
Если говорить простым языком, то функция — это блок кода, который может быть именован и вызван повторно. Иногда функцию ещё называют подпрограммой. Мы привыкли, что обычной переменной можно присвоить число, строку или массив, а затем получить его обратно, обратившись к значению по имени переменной. Функции устроены похожим образом. Это тоже своего рода переменная, только вместо строки или числа в ней хранится блок кода, который вызывается при использовании этой «переменной».
Функция — очень мощный инструмент повторного использования кода. Создав свою функцию и записав туда необходимый код, вы сможете вызывать и использовать его столько раз, сколько необходимо. В противном случае пришлось бы копировать и вставлять фрагмент кода каждый раз, когда он понадобится.
Чтобы упростить себе работу, мы можем оформить в виде функции некоторую часть кода, которая используется в сценарии несколько раз. Затем, вместо копирования и вставки этой части кода, будет достаточно только вызывать эту функцию, как если бы мы обращались к переменной.
Разделяют два типа функций — встроенные и пользовательские.
Встроенные функции — это функции, которые за нас уже написали создатели языка программирования, и мы можем просто брать их и использовать. В PHP существуют тысячи готовых функций на все случаи жизни!
Одна из таких, уже очень хорошо знакомых нам функций — это функция, которая выводит переданный ей текст на экран — print()
Пользовательские функции программист создает самостоятельно. Эти функции, как правило, используются только внутри одного проекта или, даже, сценария.
Анатомия функций
Как и с обычными переменными, работа с функциями состоит из их объявления и использования.
Перед тем, как использовать новую функцию, следует её объявить:
Пояснить все составные части функции проще всего на примере.
Допустим, на своём сайте мы хотим показывать, является ли выбранный пользователем год високосным. Для этого напишем функцию, в которую передаётся год. В результате работы функции мы хотим получить значение «истина», если год високосный, и «ложь» — если нет.
Определение такой функции:
Пример использования функции:
Потренироваться использовать функции в PHP можно в этом тренажёре.
Аргументы функции и область видимости
Наша функция умеет вычислять, является ли переданный год високосным.
Важно понимать, что функция — это как бы программа в программе. Это значит, что внутри такой функции не будут доступны переменные, которые определялись за её пределами. Чтобы передать внутрь функции информацию извне, нужно использовать аргументы функции.
Аргументы функции — это переменные, которые функция может получить из внешнего кода. В примере с is_leap_year такая переменная была только одна — $year .
Аргументы необходимы, так как функция «не видит» переменные, определённые за её границами. Поэтому нужные переменные надо передавать ей явно.
Верно и обратное — переменные, определённые внутри функции, не будут доступны извне. Такие переменные называются локальными, потому что они локальны по отношению к функции.
В отличие от аргументов, которых может быть несколько, вернуть во внешний код функция может только одно значение — с помощью инструкции «return» (возврат). Возвращаемое значение называют результатом работы функции.
Источник
php вывод текста и переменной | Особенности
Решил я написать эту статью, чтобы расставить точки как правильно и когда выводить данные. Статья не простая, поэтому если Вы ещё никогда не выводили текст ранее, то лучше начните с первого урока курса по PHP, а уже как опыта наберётесь, тогда заглядывайте сюда.
Чтобы вывести на экран текст мы используем одну из следующих конструкций языка: echo или print, либо функцию printf. Давайте разберём варианты и их особенности:
Функция printf позволяет нам вывести на экран отформатированный текст:
printf используется очень редко, самое популярное применение: преобразовать цену товара в классический вид: рубли.копейки. К примеру:
Если printf используют для вывода очень редко, то вот языковые конструкции print и echo — в каждом коде! Я говорю, что printf функция и значение надо писать в скобках по примеру выше, а вот echo и print — языковые конструкции и текст писать в скобках не надо:
Разница между echo и print есть, хоть смысл у них один и тот же. print может указывать лишь 1 значение, а вот в echo можно перечислять их через запятую:
Не смотря на это всё же можно вывести через один print 2 переменных и делается это с использованием конкатенации:
Конкатенация строк работает следующим образом, она СНАЧАЛА объединяет все в одну большую строку, а уже потом выводит один раз! С другой стороны мы не говорим по очереди «выведи то, выведи сё», мы говорим: у тебя выделено в памяти 1 байт под $x, и 1 байт под $y, объедини $x и $y в памяти и получи ещё одну временную строку в 2 байта (2 символа латинских), и потом выведи и очисти память. В итоге математики уже смогли посчитать. что при конкатенации будет занято уже 4 байта временно на данные, а при перечислении через запятую только 2.
На первый взгляд кажется, что запятая всё же круче в данном случае, но везде повсеместно используют точку. На самом деле ответ очень прост и его подтвердит любой эксперт — нет смысла заморачиваться и экономить на спичках, использование точки считается более классическим и делом привычки многих, и вы никогда в жизни не столкнётесь с тем, что сайт быстрее или медленнее работает из-за точки или запятой. Настоящая производительность сайтов кроется совсем в других вопросах (сложные операции, большой объем данных в Базе Данных)! Поэтому смело используйте то, что Вы уже ранее использовали, переучиваться нет смысла.
По поводу конкатенации стоит заметить самую важную и огромнейшую вещь — её используют для объединения переменной с переменной или строки с переменной, но объединять строку со строкой будет считаться плохим тоном:
Но есть одна маленькая особенность, когда нам необходимо будет использовать двойные кавычки для особой обработки строки (об этом чуть позже), тогда мы применим конкатенацию для строк:
Завершая тему print и echo хотелось бы уточнить ещё второе отличие. print возвращает цифру 1 всегда после завершения выполнения, echo — нет. И вот на этом часто любят строить задачки такого плана для того, чтобы пошевелить мозгами:
И типовая задачка:
И тут Вы спросите, используется ли такое где-то? Ответ — НЕТ, это считается маразмом, и была бы моя воля, я print сделал бы лишь синонимом echo. Не смотря на то, что подобное никто никогда не использует, эта возможность до сих пор остаётся как развлечение для теоретиков.
Какие кавычки правильно использовать для вывода текста в PHP
Я не буду грузить Вам голову маразмом, итак одну вещь рассказал выше. Поэтому давайте сразу перейдем к тому, как правильно делать вывод!
Правило №1 — без кавычек мы пишем числа и переменные:
Правило №2: Одинарные кавычки используем когда хотим вывести в неизменном виде то, что содержится внутри кавычек, а это мы хотим сделать всегда:
Заметьте, что теги отправляются в браузер в неизменном виде, а браузер, в свою очередь, обрабатывает их и выводит как теги, то есть уже отформатированный код. Снова же мы повторяем, что PHP — генерирует HTML, а не текст.
Исключения из правил, когда мы хотим вывести спецсимволы такие как знак больше или меньше, или целый блок HTML, то мы применяем функцию htmlspecialchars:
Правило №3: двойные кавычки применяем, когда хотим вывести обработанную строку, то есть практически никогда. Не смотря на о, что следующий код сможет вывести переменную:
Данный код считается ужасным, банально потому что мы не можем читать наш код и не понимаем его поведение:
Глядя на код выше выведется Friends или FrienBeer ? Это называется не очевидным поведением, а значит в будущем ещё не раз поведение этого кода может быть изменено. Никогда не пишите код так, чтобы нельзя было его сразу быстрым взглядом понять. Правильно было бы:
Но не смотря на это мы двойные кавычки используем в двух случаях, когда нам надо вывести перевод строки (не HTML) либо спецсимвол:
В исходном коде страницы Вы можете увидеть как работает перевод строки \r\n и понять разницу.
Встраиваем вывод из PHP в HTML
PHP — лишь инструмент, способ вставить в HTML какую-то сгенерированную часть данных, поэтому мы используем PHP внутри HTML всегда. Простой вариант:
Указанный выше синтаксис многогранен, внутри конструкции PHP мы можем не только использовать echo, но и любые другие операции включая создание переменных и т.д. и т.п. Но если необходимо ТОЛЬКО вывести переменную или текст одним действием (только одним echo), можно применить сокращенный синтаксис:
Самое интересное, это использовать совмещенный синтаксис для PHP и HTML:
Как вы видите, внутри итерации цикла можно выводить чистый HTML, достаточно закрыть конструкцию PHP и продолжить выводить HTML. Этот способ намного предпочтительнее обычного echo тем, что наш редактор кода IDE PHPStorm подсветит синтаксис кода и упростит разработку сайта.
Статья будет дорабатываться и совершенствоваться. Но даже сейчас я в ней обозначил все основные приёмы вывода текста и переменных в PHP
Источник
Функции в PHP
Всем привет! В этом уроке мы познакомимся с таким понятием как функции в языке PHP. Функции – вещь довольно простая. Она представляет собой кусок кода, который принимает определенные параметры и на выходе возвращает какой-либо результат. Можно написать функцию один раз, а затем использовать её в различных местах. Таким образом вам не нужно будет дублировать код, если что-то нужно сделать дважды, или трижды, или сколько угодно раз. Вообще, функции в PHP можно сравнить с функциями в математике.
В PHP изначально содержится огромное число встроенных функций. Это очень сильная сторона этого языка – почти под любую вашу потребность имеется уже готовая функция. Давайте попробуем несколько функций на практике.
Например, нам нужен косинус числа 3.14. Легко! Для этого в PHP есть функция cos.
Есть очень много функций для работы со строками. Например, можно в строке заменить одни символы другими, для этого есть функция str_replace. Например, давайте в строке “abracadabra” заменим все буквы “a” на “o”.
Документация по стандартной библиотеке функций (SPL) доступна на официальном сайте — http://php.net/manual/ru/funcref.php. Большинство из них имеет описание на русском языке. Разумеется, все их запомнить невозможно, однако нужно уметь их находить. И это, как правило, не составляет труда. Например, если вбить в google “заменить символы в строке php” то в выдаче будет ссылка на официальную документацию, там и смотрите.
Вообще, гуглить и брать уже готовый код – это хороший подход, который экономит ваше время. В этом нет ничего плохого – скорее всего вы найдёте лучшее решение задачи, чем то, которое бы написали сами. Научитесь на готовых примерах, а со временем запомните наиболее частые подходы для разных случаев. Здесь главное – постоянная практика.
Пользовательские функции: пишем свою первую функцию
Думаю, о том, что такое функции и где найти уже готовые, я объяснил. Но самое крутое то, что функции можно определять самому! В целом определение любой функции выглядит следующим образом:
У функции обязательно должно быть имя. У всех функций должны быть разные имена и имя вашей функции не может называться так же, как и встроенная в PHP функция. Аргументов может быть сколько угодно, в том числе и 0. Функция может что-то возвращать, для этого перед результатом пишется слово return. После него функция завершает свою работу. А может и не возвращать, а, например, изменять свои аргументы, или выводить информацию на экран. Именуются функции так же, как и переменные — camelCase`ом. Подробнее об этом я писал тут — https://php.zone/post/726. Именовать их нужно так же осмысленно – то что функция делает, то и нужно писать в имени.
Давайте рассмотрим пример создания простейшей функции в PHP. Пусть она принимает на вход два числа и возвращает их сумму.
Окей, функцию написали, теперь можно её вызвать и посмотреть на результат её работы.
Как мы видим, функция успешно отработала. Вот так, написав её лишь один раз мы можем передавать в неё разные аргументы, и получать разные значения. Использовать функцию можно только после кода её определения!
Области видимости
Давайте теперь поговорим об области видимости функции. Тут на самом деле всё просто, и всё сводится к тому, что переменные внутри функции недоступны извне и называются локальными. После завершения работы функции все объявленные внутри неё переменные перестанут существовать. При этом переменные за пределами функции называются глобальными и недоступны внутри функции. Таким образом, можно внутри функции использовать такие же имена переменных, как и снаружи, но при этом это будут совершенно разные переменные.
Данный код абсолютно рабочий. Здесь переменные $x и $y внутри функции getSum живут сами по себе, а переменные с такими же именами за пределами функции – отдельно, и они ничего друг о друге не знают. При вызове функции значение передаваемого аргумента будет скопировано в локальную переменную, а после выхода из функции это значение будет удалено. То есть здесь при вызове getSum мы просто копируем значения 3 и 5 в локальные переменные $x и $y. С этого момента внутри функции внешние переменные перестают существовать, и она знает только о своих переменных.
Параметры функции: передача аргументов по ссылке и по значению
До сих пор в рассматриваемых нами случаях аргументы в функцию передавались по значению. Это значит, что при вызове функции, значение, передаваемое в качестве аргумента, просто копировалось в локальную переменную.
Передача параметров по ссылке
Однако можно передать аргумент по ссылке. Делается это при помощи знака & перед именем аргумента.
При этом не происходит копирования значения в локальную переменную. Появляется ещё одна связь для этого же значения, но с другим именем. И теперь, изменяя значение этой переменной внутри функции, мы будем изменять исходное, переданное значение. Давайте рассмотрим пример передачи значения по ссылке.
То есть для значения переменной $a внутри функции появилось ещё одно имя — $x. Сейчас оба этих имени указывают на одно и то же значение. И если мы изменим значение переменной внутри функции, то оно изменится также и снаружи!
А если бы мы передали переменную в функцию по значению, без использования знака &, то получили бы другой результат.
Здесь при вызове функции значение переменной $a было просто скопировано в локальную переменную $x. Внутри функции мы изменили $x, прибавив к нему число 5, а затем работа функции была завершена. Локальная переменная $x перестала существовать, а мы никак не повлияли на переменную $a.
Функции, в которых все аргументы передаются по значению, называются чистыми. Стоит по возможности использовать их, так как в абсолютном большинстве случаев передача значений по ссылкам не требуется и приводит к запутанности кода.
Начинаем использовать тайп-хинтинг (type hinting) в PHP 7
В PHP 7 в функциях появилась возможность указывать типы аргументов, в том числе для скалярных типов (строки, числа). При этом при передаче аргумента в функцию, передаваемое значение будет автоматически приведено к нужному типу. Давайте перепишем нашу функцию, учитывая современные возможности PHP 7.
Вот так, теперь при передаче любых значений в функцию, они автоматически будут приведены к числам. Давайте это проверим – вставим вызов функции var_dump внутри нашей функции, и посмотрим, что получится.
Вполне ожидаемо, скажете вы. Мы ведь передали в функцию целые числа, и даже если бы у аргументов не было приведения типов, то там точно так же были бы целые числа. И будете правы. Но давайте попробуем в качестве одного из аргументов передать число с плавающей запятой.
После выполнения мы увидим следующее:
То есть в тот момент, когда аргумент пришёл в функцию, он был уже нужного типа. Давайте попробуем убрать указание типа из аргумента:
Теперь дробное число не будет приведено к целому, и мы получим другой результат:
В этом курсе мы всегда будем использовать указание типов. Это помогает писать более строгий код и позволяет допускать меньше ошибок. Посудите сами – если мы работаем с конкретным типом, мы более уверены в том, как будет работать тот или иной код.
Строгая типизация
Как я уже сказал, по умолчанию значение аргумента будет автоматически приведено к указанному типу. Однако в PHP есть возможность указать явно, что аргумент, передаваемый в функцию, будет иметь конкретный тип. Это делается с помощью директивы:
Она указывается в начале PHP-файла. Наш код примет следующий вид:
При этом, если его сейчас запустить, то произойдёт ошибка с типом TypeError.
Как тут написано, первый аргумент, переданный в getSum() обязан быть типа integer, а передан с типом float. Это и есть строгая типизация в PHP. Использовать её в рамках данного курса мы не будем, да и в профессиональной разработке на PHP этот функционал пока не используют. Но не рассказать о ней я не мог, вполне возможно, что это могут спросить при собеседовании на работу. А сейчас убираем строку declare(strict_types=1); из нашего кода и идём дальше.
Функции без аргументов
Как я говорил, функция может вообще не иметь аргументов. Таковой, например, является стандартная функция rand() – она просто возвращает случайное число.
Давайте её попробуем в действии:
Давайте запустим ещё раз этот же самый код:
Работает. А давайте теперь напишем свою функцию, которая тоже не принимает аргументов, и возвращает синус случайного числа:
Функция внутри функции
Давайте теперь рассмотрим, что ещё позволяют нам делать функции. Функции в PHP можно вызывать внутри других функций. Давайте приведём абсолютно простейший пример. Например, нам нужно найти сумму косинусов двух чисел. Напишем для этого функцию:
Здесь мы использовали функцию cos() из стандартной библиотеки внутри нашей собственной функции. А можно ли вызывать свои же функции из других своих функций? Да легко!
Здесь мы определили 2 разные функции, и во второй начали использовать первую. Разумеется, эти примеры довольно искусственны. И вы можете подумать, что использовать здесь функции излишне. Ведь можно же просто заменить этот код следующим выражением:
И вы будете совершенно правы. Но я привожу такие лёгкие примеры специально, чтобы вам было проще понять, как вообще писать функции. Давайте рассмотрим более реальный пример. Напишем функцию, которая будет возвращать большее из двух переданных чисел.
Код данной функции можно упростить, так как если $x не больше $y, то мы в любом случае вернём $y. Поэтому можно убрать блок else:
Результат будет таким же. Так происходит, как я уже говорил, что как только в функции выполнится return, значение будет тут же возвращено, а функция завершит свою работу.
Давайте передадим первым аргументом большее число:
Выполнилось первое условие и вызвался return $x. Всё, до return $y дело не дошло.
Упрощение заключается в том, что чем меньше уровней вложенности в коде, тем проще его читать и понимать. Видите, как плотно пересекается весь изученный материал? В данном случае с темой условий в PHP.
Рекурсивные функции
Ох, чувствую, сейчас повеселимся. Осторожно! Если при чтении этого раздела у вас начнут закипать мозги — переходите к следующему уроку, рекурсию можно освоить и в конце курса. Не парьтесь, в общем, если не будет получаться, вы такие не одни =)
Вот мы узнали, что можно вызывать одну функцию внутри другой. Однако бывают ситуации, когда нужно вызвать одну и ту же функцию внутри себя самой.
Например, нам нужно возвести число в степень. Предположим, у нас для этого есть определённая функция. Назовём её power. И пусть она принимает 2 аргумента:
- число, которое нужно возвести;
- степень, в которую нужно возвести.
То есть, для того, чтобы возвести число 2 в третью степень, нам нужно вызвать эту функцию следующим образом:
Согласитесь, что power(2, 3) равносильно 2 * power(2, 3 — 1). То есть мы можем умножить число, возводимое в степень, на вызов этой функции, и уменьшить при этом степень на единицу.
Таким образом, получается, что мы можем вызывать эту же функцию с некоторыми дополнительными операциями.
Тогда для возведения 2 в степень 3 получим:
- power(2, 3) = 2 * power(2, 2)
- power(2, 2) = 2 * power(2, 1)
- power(2, 1) = 2
Число в первой степени равно самому этому числу. Здесь нам нужно остановиться.
Давайте реализуем это с помощью кода:
Да, функция будет вызывать сама себя. Таким образом, можно прийти к тому, что рекурсия полезна, когда вычисление функции можно свести к её более простому вызову, а его – ещё к более простому, и так далее, пока мы не достигнем в аргументах какого-то конечного значения (в нашем примере — числа 1). Чтобы понять, как всё работает пошагово, можно добавить вызов var_dump в начале функции и посмотреть, какие аргументы ей передаются на каждом из шагов.
Вывод получится следующим:
Таким образом, мы видим, что функция была вызвана трижды, и мы видим, какими были значения аргументов на каждом вызове. Надеюсь, тут всё понятно. Если же нет (а при изучении рекурсии это происходит довольно часто) – пишите ваши вопросы в комментариях, помогу. А ещё можете пошагово разбирать ход программы на листочке – тоже часто помогает.
Давайте для закрепления разберём ещё один пример с рекурсией. Например, мы будем передавать в функцию какое-то число $n, а она будет считать сумму всех чисел от единицы до этого числа. Назовём эту функцию getSumOfNumbersFromZero($n).
Предположим, нам нужно посчитать сумму всех чисел от 1 до 5. Тогда вызов функции будет следующим:
Как можно догадаться, этот вызов можно представить как
Или в общем случае
И так до тех пор, пока $n не станет равен 1.
Давайте реализуем это с помощью рекурсивной функции:
Всё верно! Ну, хватит рекурсии, а то я уже слышу, как у вас закипают мозги.
Очень надеюсь, что вам понравился урок. Если это так – буду рад, если вы поделитесь им в социальных сетях или расскажете друзьям. Это лучшая поддержка проекта. Спасибо тем, кто это делает. Если у вас возникли какие-то вопросы или замечания – напишите об этом в комментариях. А сейчас – делаем домашнее задание, варианты ваших решений можете писать в комментариях, я их проверю и скажу, всё ли правильно. Всем пока!
Источник