PHP: Инструкции (Statements)
Инструкция — это команда, которую исполняет интерпретатор PHP. Она написана на языке программирования. Ее можно сравнить с инструкцией или рецептом по приготовлению блюда:
Код на PHP — это набор инструкций, которые отделяются друг от друга символом ; .
Вот пример кода с двумя инструкциями:
Mother of Dragons. Dracarys!
При запуске этого кода на экран последовательно выводятся два предложения: Mother of Dragons. Dracarys! .
Инструкции можно написать последовательно друг за другом без переноса на новую строчку:
Mother of Dragons. Dracarys!
Результат на экране будет таким же. Но такой код неудобно читать, поэтому инструкции располагают друг под другом.
Задание
Выведите на экран друг за другом три имени: Robert, Stannis, Renly. В результате на экране должно отобразиться:
RobertStannisRenly
Для каждого имени используйте свой собственный вызов print_r() .
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Полезное
Определения
- Интерпретатор — программа, выполняющая код на PHP.
- Инструкция (statement) — команда для компьютера, написанная на языке программирования. Код на PHP — это набор инструкций, разделенных (чаще всего) символом ; .
Интерпретатор PHP: а что там внутри…
Если совсем просто, интерпретатор PHP — это программа, которая выполняет скрипты на языке PHP. Он состоит из нескольких компонентов, которые работают вместе, чтобы обработать скрипт PHP и произвести вывод.
Перечислим эти компоненты:
- Lexer — это компонент, который разбирает исходный код на токены (ключевые слова, операторы, константы и т.д.).
- Parser — это компонент, который преобразует токены в абстрактное синтаксическое дерево (AST). AST — это структура данных, которая представляет скрипт на языке PHP в виде дерева, где каждый узел представляет собой операцию или конструкцию языка.
- Executor — это компонент, который выполняет инструкции, представленные в AST. Он просматривает каждый узел AST и выполняет соответствующую операцию.
- Zend Engine — это основной компонент интерпретатора PHP, который объединяет Lexer, Parser и Executor. Он также управляет работой с памятью, оптимизацией кода и другими внутренними аспектами языка.
- SAPI (Server Application Programming Interface) — это интерфейс между интерпретатором PHP и веб-сервером, который позволяет запускать скрипты на языке PHP на сервере. В PHP существует несколько различных SAPI, таких как Apache, CGI и FastCGI.
Начнем наш обзор с лексического анализатора.
Lexer (лексический анализатор) в PHP — это компонент, который преобразует исходный код на языке PHP в поток токенов. Он работает по следующему алгоритму:
- Получение кода на входе — Lexer получает на вход исходный код на языке PHP.
- Разбиение кода на лексемы — Lexer анализирует код и разбивает его на отдельные лексемы (ключевые слова, операторы, константы и т.д.).
- Создание токенов — Для каждой лексемы Lexer создает соответствующий токен, который содержит информацию о типе лексемы, ее значение и позиции в исходном коде.
- Формирование потока токенов — Lexer формирует поток токенов из созданных токенов, который передается на вход компоненту Parser для дальнейшей обработки.
- Обработка ошибок — В случае возникновения ошибки Lexer создает соответствующее исключение, которое передается на уровень выше для обработки.
Для примера работы лексера можно рассмотреть следующий код на языке PHP:
После применения лексера к этому коду получится поток токенов, который можно представить в виде таблицы:
| Тип токена | Значение | Позиция в коде |
|---|---|---|
| T_FUNCTION | function | 1:1 |
| T_WHITESPACE | 1:10 | |
| T_STRING | helloWorld | 1:11 |
| T_OPEN_PAREN | ( | 1:21 |
| T_VARIABLE | $name | 1:22 |
| T_CLOSE_PAREN | ) | 1:27 |
| T_WHITESPACE | 1:28 | |
| T_OPEN_CURLY | 2:1 | |
| T_WHITESPACE | 2:2 | |
| T_ECHO | echo | 3:5 |
| T_WHITESPACE | 3:9 | |
| T_CONSTANT_EN | «Hello, „ | 3:10 |
| T_CONCAT_EQUAL | . | 3:18 |
| T_VARIABLE | $name | 3:20 |
| T_CONCAT_EQUAL | . | 3:24 |
| T_CONSTANT_EN | “!» | 3:26 |
| T_SEMICOLON | ; | 3:27 |
| T_WHITESPACE | 4:1 | |
| T_CLOSE_CURLY | > | 5:1 |
Каждый токен имеет свой тип, значение и позицию в исходном коде. Например, первый токен имеет тип T_FUNCTION, значение function и позицию 1:1 (1 строка, 1 символ), а последний токен имеет тип T_CLOSE_CURLY, значение >, и позицию 5:1 (5 строка, 1 символ).
Поток токенов, полученный после работы лексера, затем передается на вход компоненту Parser для дальнейшей обработки и выполнения скрипта.
продолжение следует.
PHP :: Инструкциии
Прежде, чем приступить к описанию основных управляющих конструкций языка PHP , давайте еще раз сформулируем само понятие инструкции.
– это команда на языке PHP , которая выполняется для того, чтобы что-то происходило. По сути, любой php -скрипт представляет собой не что иное, как некоторую последовательность инструкций.
К инструкции можно отнести присваивание, сравнение, вызов функции, различные циклы и условные операторы или даже пустой оператор, т.е. пустую инструкцию, которая ничего не делает. Как уже было показано выше, в PHP каждая инструкция отделяется от других точкой с запятой ; , которая обычно ставится в той же строке в конце каждой инструкции. Если инструкция является последней в блоке php -кода, то после нее точку с запятой разрешается не ставить, т.к. закрывающий тег сделает это автоматически. Кроме того, инструкции могут быть объединены посредством фигурных скобок в целые блоки инструкций, каждый из которых сам по себе является отдельной инструкцией.
Управляющие конструкции PHP
По умолчанию интерпретатор PHP выполняет инструкции последовательно одна за другой в порядке их следования в коде. Однако имеется и ряд специальных инструкций, называемых , которые изменяют выполнение хода программы по умолчанию. К ним относятся:
- , такие как if или switch , которые указывают интерпретатору PHP на выполнение или пропуск других инструкций в зависимости от значения условного выражения;
- , такие как for , foreach , while или do/while , которые указывают интерпретатору на многократное выполнение других инструкций;
- , такие как break , continue , return или goto , которые указывают интерпретатору на выполнение перехода в другую часть программы.
В данном параграфе мы как раз и будем заниматься рассмотрением различных управляющих конструкций, использующихся в языке PHP .
Быстрый переход к другим страницам
- Оператор подавления ошибок в PHP
- Инструкциии в PHP
- Условный оператор if в PHP
- Вернуться к оглавлению учебника
![]()
html.okpython.net Copyright © 2016-2023.
Инструкции — Основы PHP
В этом уроке мы изучим команду, которая указывает компьютеру, что нужно выполнить. Речь пойдет об инструкциях.
Что такое инструкция
Инструкция — это команда, которую исполняет интерпретатор PHP. Она написана на языке программирования. Ее можно сравнить с инструкцией или рецептом по приготовлению блюда:
Код на PHP — это набор инструкций, которые отделяются друг от друга символом ; .
Вот пример кода с двумя инструкциями:
print_r('Mother of Dragons. '); print_r('Dracarys!'); // => Mother of Dragons. Dracarys!
При запуске этого кода на экран последовательно выводятся два предложения: Mother of Dragons. Dracarys! .
Инструкции можно написать последовательно друг за другом без переноса на новую строчку:
print_r('Mother of Dragons. '); print_r('Drakarys!'); // => Mother of Dragons. Dracarys!
Результат на экране будет таким же. Но такой код неудобно читать, поэтому инструкции располагают друг под другом.
Выводы
В этом уроке мы узнали, что такое инструкции в языке PHP. Это единица исполнения, а интерпретатор — программа, которая запускает код на PHP и выполняет инструкции по очереди.
Разработчики должны понимать этот порядок и уметь мысленно разделять программу на независимые части, удобные для анализа.
Дополнительные материалы
![]()
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Об обучении на Хекслете
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Урок «Как эффективно учиться на Хекслете»
- Вебинар « Как самостоятельно учиться »
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях: