Циклы в PHP
Циклы
Последнее обновление: 1.11.2015
Для совершения повторяемых действий в PHP, как и в других языках программирования, используются циклы. В PHP имеются следующие виды циклов:
Цикл for
Цикл for имеет следующее формальное определение:
for ([инициализация счетчика]; [условие]; [изменение счетчика]) { // действия }
Рассмотрим стандартный цикл for:
<?php for ($i = 1; $i < 10; $i++) { echo "Квадрат числа $i равен " . $i * $i . "<br/>"; } ?>
Первая часть объявления цикла — $i = 1
— создает и инициализирует счетчик — переменную $i. И перед выполнением цикла его значение будет
равно 1. По сути это то же самое, что и объявление переменной.
Вторая часть — условие, при котором будет выполняться цикл. В данном случае цикл будет выполняться, пока $i не достигнет 10.
Третья часть — приращение счетчика на единицу. Опять же нам необязательно увеличивать на единицу. Можно уменьшать: $i—.
В итоге блок цикла сработает 9 раз, пока значение $i не станет равным 10. И каждый раз это значение будет увеличиваться на 1. Каждое отдельное повторение цикла называется итерацией. Таким образом, в данном случае произойдет 9 итераций.
Цикл while
Цикл while
проверяет истинность некоторого условия, и если условие истинно, то выполняются блок выражений цикла:
<?php $counter = 1; while($counter<10) { echo $counter * $counter . "<br />"; $counter++; } ?>
Если в блоке while всего одна инструкция, то фигурные скобки блока можно опустить:
<?php $counter = 0; while(++$counter<10) echo $counter * $counter . "<br />"; ?>
Цикл do..while
Цикл do..while
похож на цикл while
, только теперь выполняется блок цикла, и только потом выполняется проверка условия. То есть
даже если условие ложно, то блок цикла выполнится как минимум один раз:
<?php $counter = 1; do { echo $counter * $counter . "<br />"; $counter++; } while($counter<10) ?>
Операторы continue и break
Иногда возникает ситуация, когда требуется выйти из цикла, не дожидаясь его завершения. В этом случае мы можем воспользоваться оператором break:
<?php for ($i = 1; $i < 10; $i++) { $result = $i * $i; if($result>80) { break; } echo "Квадрат числа $i равен $result <br/>"; } ?>
И если вдруг результат операции окажется больше 80, то происходит выход из цикла.
Для управления циклами также применяется оператор continue. Он осуществляет переход к следующей итерации цикла:
<?php for ($i = 1; $i < 10; $i++) { if($i==5) { continue; } echo "Квадрат числа $i равен " . $i * $i . "<br/>"; } ?>
При выполнении программы, когда значение $i станет равным 5, произойдет переход к следующей итерации, а все остальные выражения, которые следуют
после оператора
выполняться не будут.
metanit.com
Что такое PHP? Пишем свою первую программу на PHP
PHP – это серверный язык программирования, который исполняется на стороне сервера, в то время как JavaScript исполняется в браузере на стороне пользователя.
И PHP, и Javascript можно встраивать в HTML-страницы.
Прочитав эту статью о PHP программировании, вы узнаете:
- Что такое скриптовый язык?
- Сценарный язык vs программный язык.
- Как расшифровывается PHP?
- Что такое PHP?
- Синтаксис PHP.
- Зачем нужен PHP?
- Для чего используется PHP и какова его доля на рынке?
- PHP vs ASP.NET vs JSP vs CFML.
- Файловые расширения PHP.
- Простая программа PHP.
Программный язык | Сценарный язык |
Предлагает свойства, необходимые для разработки полноценных приложений. | В основном используется для выполнения рутинных задач. |
Перед исполнением код нужно компилировать. | Код исполняется без компиляции. |
Необязательно встраивать в другие языки. | Обычно встраивается в другие программные среды. |
PHP расшифровывается как Personal Home Page (персональная домашняя страница), но сейчас всё чаше используется Hypertext Preprocessor.
PHP-код можно встраивать в HTML или использовать в CMS и веб-фреймворках.
Основное предназначение языка программирования PHP заключается в разработке:
- Статичных сайтов;
- Динамических сайтов;
- Веб-приложений.
PHP-скрипты могут быть выполнятся только на тех серверах, где установлен интерпретатор данного языка.
Клиентским компьютерам, осуществляющим доступ к PHP-скриптам, понадобится только браузер. PHP-файл содержит теги, и имеет расширение .php.
PHP-файл также может содержать HTML и клиентские скрипты JavaScript.
- Знание HTML будет преимуществом при изучении PHP. Можно учить PHP и без знания HTML, но желательно знать хотя бы основы;
- СУБД для приложений, работающих с применением БД;
- Для реализации более сложных задач потребуется связка JavaScript и XML.
На рисунке, приведенном ниже, демонстрируется базовая архитектура веб-приложения и процесс обработки запросов сервером. Это важно знать при изучении PHP программирования с нуля:
- PHP бесплатен и предлагает открытый исходный код;
- Изучить его проще, нежели JSP, ASP и т. д.;
- Большое сообщество разработчиков;
- Большинство хостингов поддерживают PHP, чего не скажешь об ASP, для которого необходима поддержка IIS;
- PHP постоянно обновляется;
- PHP предлагает встроенную поддержку MySQL. Также PHP можно использовать с:
- Postgres;
- Oracle;
- MS SQL Server;
- ODBC;
- PHP – кроссплатформенный язык. Это означает, что вы можете реализовать свое приложение на нескольких ОС, включая Windows, Linux, Mac OS и других.
На основе PHP работает более 20 миллионов сайтов и веб-приложений:
ASP – Active Server Pages.
JSP – Java Server Pages.
CFML – Cold Fusion Markup Language.
В таблице ниже приведено сравнение различных серверных языков с языком программирования PHP.
Свойство | PHP | ASP | JSP | CFML |
Обучаемость | Быстро | Дольше чем PHP | Дольше чем PHP | Дольше чем PHP |
Хостинг | Поддерживается практически всеми хостерами. | Необходим выделенный сервер. | Необходим выделенный сервер. | |
Open Source | Да | Нет | Да | Доступны коммерческая и open source версии |
Поддержка веб-сервисов | Встроенная | Используется фреймворк .NET | Используются дополнительные библиотеки | Встроенная |
Интеграция с HTML | Простая | Достаточно сложная | Достаточно сложная | Простая |
Поддержка MySQL | Нативная | Потребуются сторонние драйверы | Потребуются сторонние драйверы | В текущей версии есть нативная поддержка. В прежних версиях используется ODBC |
Дополнение другими языками | Да | Нет | При помощи Java-классов и библиотек | Да |
Чтобы сервер мог распознавать PHP-файлы, сохранять документы нужно с расширением .php. В прошлом к PHP-расширениям также относились:
- .phtml
- .php3
- .php4
- .php5
- .phps
PHP был разработан для работы с HTML, следовательно, его можно встраивать в HTML-код:
В web программировании PHP можно создавать файлы без использования HTML-тегов, и это будет считаться чистым кодом. Сервер выполняет PHP-код и выводит результат в браузер как HTML-код.
Чтобы сервер мог отличить PHP от HTML, код всегда нужно обрамлять соответствующими тегами. PHP чувствителен к регистру. Это значит, что «VAR» — это не то же самое, что «var».
Сами PHP-теги не чувствительны к регистру, но настоятельно рекомендуется использовать нижний регистр:
Мы расцениваем строки PHP-кода как выражения. Они оканчиваются точкой с запятой (;). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.
Приведённая ниже программа является простым PHP-приложением, которое выводит “Hello World!” в браузере.
<?php echo "Hello world"; ?>
- Язык программирования PHP расшифровывается как Hypertext pre-processor;
- PHP выполняется на стороне сервера. Это исключает необходимость установки дополнительного программного обеспечения на устройства пользователей;
- PHP-файлы необходимо сохранять с расширением .php;
- PHP распространяется с открытым исходным кодом и поддерживается на многих платформах.
Данная публикация представляет собой перевод статьи «What is PHP? Write your first PHP Program» , подготовленной дружной командой проекта Интернет-технологии.ру
www.internet-technologies.ru
PHP: Что такое PHP? — Manual
Что такое PHP?
PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) — это распространенный язык программирования общего назначения с открытым исходным кодом. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML.
Простой ответ, но что он может означать? Вот пример кода:
Пример #1 Пример программирования на PHP
<!DOCTYPE html>
<html>
<head>
<title>Пример</title>
</head>
<body> <?php
echo "Привет, я - скрипт PHP!";
?>
</body>
</html>
Вместо рутинного вывода HTML-кода командами языка
(как это происходит, например, в Perl или C),
скрипт PHP содержит HTML с встроенным кодом (в нашем
случае, это вывод текста «Привет, я — скрипт PHP!»).
Код PHP отделяется специальными начальным и конечным тегами <?php
и ?>
,
которые позволяют «переключаться» в «PHP-режим» и выходить из него.
PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту. Если бы у вас на сервере был размещен скрипт, подобный вышеприведенному, клиент получил бы только результат его выполнения, но не смог бы выяснить, какой именно код его произвел. Вы даже можете настроить свой сервер таким образом, чтобы обычные HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.
PHP крайне прост для освоения, но вместе с тем способен удовлетворить запросы профессиональных программистов. Не пугайтесь длинного списка возможностей PHP. Вы можете быстро начать, и уже в течение нескольких часов сможете создавать простые PHP-скрипты.
Хотя PHP, главным образом, предназначен для работы в среде веб-серверов, область его применения не ограничивается только этим. Читайте дальше и не пропустите главу Возможности PHP либо, начните непосредственно с Вводного руководства, если вас интересует исключительно веб-программирование.
www.php.net
Что такое PHP.
Здравствуйте уважаемые будущие программисты. Начинаем знакомство с очередным языком программирования — PHP.
Прежде чем начать произносить умные определения, попробую объяснить Вам , что такое PHP, на примере из жизни.
Представьте что наш сайт — это дом. Красивый дом с бежевыми стенами, зелёной крышей, белыми окнами, шоколадными дверями.
И внутри красота. Прекрасные обои, плитка, сантехника, мебель, и даже посуда.
Так вот, вся эта картинка создаётся на html и css.
А вот чтобы вдохнуть в Ваш дом жизнь, чтоб в нём появились люди, стали общаться и что-то делать, да и чтоб другие люди смогли всё это увидеть нужен php.
У такой компьютерной жизни есть название — интерактивность, и создаётся она языком программирования PHP.
Ну а теперь более научное определение.
PHP — это язык программирования, специально разработанный для написания web-приложений (сценариев) и вот что о нём написано в Википедии:
«PHP (англ. PHP: Hypertext Preprocessor — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время является одним из лидеров среди языков программирования, применяющихся для создания сайтов».
На PHP написаны движки для сайтов, темы, плагины, различные формы связи (комментарии, почтовые программы) и много чего ещё.
Написано-то написано, но есть и некоторые нюансы которые нужно знать, прежде чем приступать к изучению этого языка.
PHP — это серверный язык. Как это понимать?
Существует два вида языков программирования — клиентский и серверный.
Клиентскими называются языки, которые обрабатываются непосредственно в браузере вашего компьютера. Это html, css и javascript.
Если документ, можно сказать даже программа написана с использованием только этих языков, то её можно сразу открыть в браузере. Т.е. написал код в редакторе (Notepad++), и можно сразу посмотреть что из этого получилось, т.е. открыть его в браузере.
С php несколько иначе.
Браузер на вашем компьютере его не читает. PHP отсылается на сервер, обрабатывается на нём и браузеру возвращается готовый результат на одном из клиентских языков.
И увидеть код php на мониторе невозможно. Допустим, если Вы щёлкните правой клавишей мыши и откроете Просмотр кода страницы, то код первых трёх языков Вы увидите, а вот php нет.
Вроде бы получается что для php нужно лишнее звено — лишняя работа. В чём смысл?
А смысл в том, что клиентские языки относительно статичны. HTML так вообще на 100% статичен. и если программа, допустим сайт, имеет множество страниц, то придётся прописывать полностью каждую, хотя на них всё кроме текста одинаковое, или почти одинаковое.
PHP позволяет создавать динамические сайты. Что это значит?
Все одинаковые блоки сайта прописываются в отдельные файлы, т.е. код для них пишется только один раз, а уж при загрузке страницы, эти файлы собираются вместе и подгружаются к тексту, или наоборот, не важно, в результате чего на мониторе отображается целая страница.
Код сайта сокращается в сотни раз. Пропорционально числу страниц.
Доля смысла есть и в конфедециальности и безопасности. Как я уже говорил, PHP невозможно прочитать в браузере кликнув по «Просмотреть код страницы».
А сервер обязан защищать информацию своих клиентов. То есть Ваш сайт, помимо защиты которую Вы сделаете сами, будет оберегать защита сервера.
Из всего вышесказанного следует, что для работы с php необходим сервер и его можно установить на Ваш комп, или использовать сервер хостинга, но об этом в следующей статье.
А пока немного наглядности. Вот так выглядит html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ без названия</title>
</head>
<body>
<h2>Привет мир!</h2>
<hr color="#037FFC" >
<p>Здравствуйте уважаемые будущие веб мастера.
После долгих колебаний я всё-таки решил тоже
покопать на ниве обучения сайтостроению, хотя более перекопанной
нивы наверное трудно себе представить, так как о том,
как создать сайт на WordPress, в интернете описано уже несколько миллионов раз.
И всё-ж, и всё-ж.</p>
<hr color="#037FFC" >
</body>
</html>
Вот так CSS
#header{
height: 80px;
background-color: #25B33f;
margin-bottom: 10px;
}
#sidebar{
background-color: #2FF553;
margin-bottom: 10px;
width: 180px;
padding: 10px;
float: right;
}
А вот так PHP.
<?php
$limit_login_my_error_shown = false; /* have we shown our stuff? */
$limit_login_just_lockedout = false; /* started this pageload??? */
$limit_login_nonempty_credentials = false; /* user and pwd nonempty */
global $limit_login_my_error_shown;
$limit_login_my_error_shown = true;
if (!empty($_COOKIE[LOGGED_IN_COOKIE])) {
$_COOKIE[LOGGED_IN_COOKIE] = '';
}
?>
Все эти три языка прекрасно интегрируются друг в друга и работают совместно, поэтому для веб-программирования желательно знать их все.
Причём изучение php, по моему, невозможно без знания основ html и css, так как он является как бы управляющим тем, что написано на этих двух языках.
То есть, html — основа, css — оформление, а php — управление.
Перемена
— Чем ты кормишь свою собачку?
— Помидорами.
— Ух, ты, а у меня не ест.
— У меня тоже.
Рекомендую: Готовые HTML шаблоны на русском
starper55plys.ru
PHP: Альтернативный синтаксис управляющих структур
Consider the following hypothetical PHP example:<?php
$bar = ‘bar’;
$foo = ‘foo’;
if (isset(
$bar)):if (isset($foo)) echo «Both are set.»;
elseif (isset($foo)):
echo «Only ‘foo’ is set.»;
else:
echo «Only ‘bar’ is set.»;
endif;
?>
Disconsider the dumb logic and focus on the elseif line. If you try it yourself you will get a PHP EXCEPTION error saying: syntax error, unexpected ‘:’ .
Now, you may think the fix is to have the sub-if enclosed in between { } instead of being a single line statement, like this:
<?php
$foo = ‘foo’;
$bar = ‘bar’;
if (isset($bar)):
if (isset($foo)) {
echo «Both are set.»;
}
elseif (isset($foo)):
echo «Only ‘foo’ is set.»;
else:
echo «Only ‘bar’ is set.»;
endif;
?>
Wrong! The error remains. Exactly the same EXCEPTION as before…
Well, here is what I found: if you put a semicolon (;) AFTER the curly bracket (}) which resides immediately before the elseif statement, then the error is gone! Try it:
<?php
$foo = ‘foo’;
$bar = ‘bar’;
if (isset($bar)):
if (isset($foo)) {
echo «Both are set.»;
};
elseif (isset($foo)):
echo «Only ‘foo’ is set.»;
else:
echo «Only ‘bar’ is set.»;
endif;
?>
Weird enough, if you go back to the first example and DOUBLE the semicolon immediately before the elseif statement, it will also work:
<?php
$foo = ‘foo’;
$bar = ‘bar’;
if (isset($bar)):
if (isset($foo)) echo «Both are set.»;;
elseif (isset($foo)):
echo «Only ‘foo’ is set.»;
else:
echo «Only ‘bar’ is set.»;
endif;
?>
But, it doesn’t end there. You can also do this:
<?php
$foo = ‘foo’;
$bar = ‘bar’;
if (isset($bar)):
if (isset($foo)): echo «Both are set.»;
elseif (isset($foo)):
echo «Only ‘foo’ is set.»;
else:
echo «Only ‘bar’ is set.»;
endif;
?>
However, in this last example, the logic gets totally scrambled! The elseif will now belong to the sub-if instead of the first if, and the rest of the logic will all behave as a «one single statement» in response to the first if only. Very confusing and error prone (be careful).
The differences are very subtle and can deceive the eyes (especially while debugging). For this reason, I strongly suggest the first example from this answer: when using IF-ELSEIF blocks (AKA «Alternative Syntax»), if another IF is required inside it, enclose it in between {} and don’t forget to add a semicolon after the last }. Example:
<?php
if (isset($bar)):
if (isset($foo)) {
echo «Both are set.»;
};
elseif (…):
?>
Maybe the truth is that someone screwed up in the language parsing process for those PHP Block Alternative Statements or failed to document this very important detail!
www.php.net