В этом уроке мы разберем работу с данными на языке PHP.
Данные — это объекты, которыми может оперировать PHP, к примеру, сообщение пользователя — это строка, а его возраст — это число. Данные могут быть разных типов.
Строки и числа
Самыми простыми типами данных в PHP являются строки и числа.
Числа обозначают сами себя, например 1, 12, 145, а вот строки требуется брать в кавычки (одинарные или двойные — без разницы):
Числа также могут быть дробями. Разделителем целой и дробной части служит знак «точка». К примеру, число 10.754 — это дробь.
Переменные
Одним из самых главных и распространенных объектов в программировании является переменная.
Переменная — это такой объект, который может хранить внутри себя различные данные, например, строки или числа.
Имя переменной должно состоять из английских букв: больших или маленьких, а также цифр и знака_подчеркивания.
В PHP перед переменной обязательно должен быть написан знак доллара $:
Операция присваивания
Очень важным элементом программирования является операция присваивания.
С помощью присваивания мы можем положить в переменную результат какой-либо операции, например, строку или число, а затем достать эти данные в нужном нам месте и воспользоваться ими.
Пример присваивания:
Комментарии
К коде PHP, так же, как и в HTML и CSS, можно оставлять комментарии, которые будут проигнорированы PHP при выполнении программы.
Их обычно используют для того, чтобы оставлять какие-либо пометки в коде или временно убрать какие-то строки кода, которые вам мешают, а потом иметь возможность быстро их вернуть обратно.
Комментарии могут быть многострочными и однострочными:
Функции
В программировании есть такое понятие, как функции. В отличии от переменных, которые хранят внутри себя некоторые данные, функции выполняют операции над этими данными.
Функция отличается от переменной тем, что перед именем функции не ставится знак доллара (он нужен только для переменных), а также тем, что у нее после названия стоят круглые скобки ( ), внутри которых через запятую можно перечислять параметры.
Параметры — это данные (например, строки или числа), которые мы даем функции, она производит над ними какие-то операции и возвращает нам результат.
Например, в PHP есть стандартная функция sqrt(), которая параметром принимает число, а возвращает квадратный корень этого числа.
То есть, если ей передать число 9, вот так — sqrt(9), то на выходе получим число 3. Полученное число мы можем записать в какую-либо переменную или вывести на экран.
Давайте найдем корень из 25 и запишем в переменную $a:
Функция echo
В PHP существует специальная функция echo, которая позволяет вывести какой-либо текст в окно браузера. В отличие от других функций, после echo не требуются круглые скобки ().
Следующий код выводит на экран заданный текст:
А в следующим коде переменной $text присваивается фраза, а затем содержимое этой переменной выводится на экран:
Математические операции
В PHP между числами и переменными можно совершать различные математические операции: сложение (знак +), вычитание (знак -), умножение (знак *), деление (знак /).
Чтобы понять, как с ними работать, посмотрите на следующий пример:
Можно сначала записать числа в переменные, а потом уже проводить операции с переменными:
А можно также одновременно производить операции и с числами, и с переменными:
Специальные значения
В PHP, как и в других языках программирования, существуют ключевые слова для некоторых специальных значений.
Значения true, false
Значения true и false обозначают истину и ложь соответственно. Они используются для таких вещей, которые предполагают два варианта ответа — да или нет.
К примеру, на вопрос ‘вам уже есть 18 лет?’ в можете ответить да, то есть true, или нет, то есть false.
Эти значения называются логическими.
Значение null
Значение null обозначает ‘ничего’. К примеру, если мы попробуем обратиться к переменной, которой мы еще не задали значение — то ее значение и будет null.
Функция var_dump
Бывают ситуации, когда нам нужно посмотреть содержимое переменной, чтобы понять, почему наш код работает не так, как мы хотели. Обычно на помощь приходит функция echo, однако, бывают ситуации, когда echo не работает.
Например, если переменная является пустой строкой », то выведя ее содержимое на экран с помощью echo, мы ничего не увидим.
Вторая ситуация — когда переменная содержит строку с пробелами по краям, например:
Для решения описанных выше проблем следует использовать функцию var_dump(), которая предназначена для отладки кода и позволяет выводить значения переменных и их тип.
С помощью этой функции мы можем увидеть, что переменная пуста, можем подсчитать количество пробелов по краям строки, можем увидеть, что переменная логическая и имеет значение true или false (об этих значениях чуть позже).
Пример использования var_dump():
PHP внутри HTML
PHP код можно вставлять внутрь HTML кода:
Сложение строк в PHP
В PHP, в отличие от многих других языков, строки складываются с помощью знака «точка»:
Получение определенного символа строки
В PHP можно получить доступ к определенному символу строки по его номеру таким образом: $a[n] – n-ный символ строки (учтите, что нумерация идет с нуля):
Сложности с операцией присваивания
Очень часто новички не понимают, что присваивание отличается от обычного равенства. Посмотрите следующий пример:
С точки зрения математики запись $a = $a + 2 абсурдна, но не с точки зрения программирования.
В данном случае переменная $a имела значение 1, а затем мы переменной $a присвоили новое значение — старое значение переменной $a плюс 2.
Операции инкремента и декремента
Операция $a++ или ++$a – увеличивает переменную $a на единицу. Эта операция называется инкремент.
Операция $a— или —$a – уменьшает переменную $a на единицу. Эта операция называется декремент.
Примеры:
Давайте посмотрим, в каких случаях проявляется разница между ++a и a++.
Пусть у нас есть код echo ++a и код echo a++.
В первом случае переменная сначала увеличится на единицу, а потом выведется, а во втором случае — сначала выведется, а потом увеличится.
Операции +=, -=, *=, /=
Мы уже рассматривали код, который демонстрирует сложности с операцией присваивания:
В данном случае мы присваиваем переменной $a ее текущее значение, увеличенное на 2. Однако PHP позволяет записать этот код еще короче с помощью оператора +=:
Кроме того, существуют операторы -=, *=, /=, которые эквивалентны следующему коду:
Операция .=
Существует также операция .=:
Типизация переменных
Что будет, если попробовать сложить, к примеру, число и строку, вот так: 3+’3′? В результате вы получите число 6. Это значит, что PHP автоматически осуществляет преобразование типов при необходимости, вам не нужно за это переживать.
То же самое случится, если, к примеру, сделать так: 3+true или 3+false. Попробуйте эти примеры сами и узнайте к чему преобразуется true в этом случае, а чему — false.
code.mu
Что такое PHP и что с помощью него можно делать?
В этом несложном введении в язык PHP объясняются основы PHP и как его можно использовать для создания многофункциональных веб-страниц и приложений. PHP — это язык программирования, который можно использовать для написания веб-приложений. Веб-приложение может быть чем угодно — от простой формы «свяжитесь с нами» до полноценной системы ведения блогов, интернет-магазина, или форума. Ещё с помощью PHP можно вставлять блоки контекстной рекламы в тексты статей сайта.
PHP — серверный язык
PHP известен, как серверный язык программирования. Это означает, что он работает на веб сервере. Большинство языков веб-программирования являются серверными языками, но некоторые, например, JavaScript, работают на стороне клиента, это означает, что они работают в веб-браузере.
Серверные языки дают вам больше гибкости, так как вы можете то, что трудно осуществить с помощью JavaScript — например, работа с файлами, базами данных, или работа с изображениями. Нужно сказать, что JavaScript распространился очень быстро в наши дни.
Выполнение кода со стороны сервера является более безопасным способом, чем на стороне клиента, как это делает JavaScript. Поскольку код JavaScript отправляется в веб-браузер, для посетителей сайта легко его просмотреть и редактировать. Даже на одной странице сайта можно с легкостью совмещать PHP и JavaScript. Код находящийся на стороне сервера остаётся веб-сервере и недоступен для посетителей сайта. PHP это инструмент, который находится на веб-сервере и там выполняет PHP скрипты.
PHP — программное обеспечение с открытым исходным кодом
PHP представляет собой программное обеспечение с открытым исходным кодом. Это означает, что любой пользователь может получить доступ и работать на PHP. Это помогает быть уверенным, что PHP будет работать в течение длительного времени. PHP можно свободно скачать и использовать. Это является причиной того, что многие хостинг-провайдеры широко используют PHP. Вы обнаружите, что подавляющее большинство веб-хостингом поддерживают работу PHP.
PHP ориентирован на разработку веб-приложений
В то время как многие языки программирования могут быть использованы для создания веб-приложений, PHP является одним из языков специально разработаных для использования в Интернете. PHP имеет множество полезных веб-функций таких, как:
- Считывание и обработка веб-форм и куки-файлов
- Функции создания и работы с графикой
- Установка связи с популярными базами данных такими, как MySQL и
- Функции для работы с HTML.
Вы можете смешивать PHP код с HTML-кодом
Одной из замечательных функцией PHP является то, что вы можете включить блоки PHP кода в HTML-страницы.
Вы можете обособить PHP блоки с помощью специальных символов. Когда веб-сервер получает информацию о странице,
все PHP блоки запускаются движком PHP, в то время как, другие части страницы отправляются «как есть» в браузер.
Эта функция позволяет легко делать интерактивными обычные веб-страницы. Отличный инструмент для форм с обратной связью и форм с похожими функциями.
Использование PHP
Вы можете использовать PHP для записи практически любого типа веб-приложения или сценария. Обычные PHP приложения, включают в себя:
- Программное обеспечение для ведения блогов таких, как WordPress
- Системы электронной коммерции Magento
- Система управления контентом, в том числе Drupal и Joomla! и
- Программное обеспечение для ведения форумов, например, phpBB.
Кроме того, многие популярные веб-сайты, в том числе Yahoo!, Википедия, Facebook, Digg разработаны с использованием PHP. Также с помощью языка PHP возможно написание объектно-ориентированного кода.
site.softmaker.kz
Подготовка к программированию на языке PHP для чайников
- PHP код следует помещать в файле index.php, сам файл должен быть размещен в корневом каталоге сайта, расположенного на веб-сервере.
- Весь код на языке PHP должен быть заключен между дескрипторами <?php и ?> или сокращенный вариант <? и ?>, но веб-сервер может быть не сконфигурирован для использования сокращенного варианта такой записи, поэтому предпочтителен первый вариант.
- Вставлен PHP код может быть в любое место HTML кода.
- Комментирование в PHP коде осуществляется следующим образом:
// однострочный комментарий # еще один вариант однострочного комментария /* многострочный комментарий */
- Для того, чтобы посмотреть ваш код, откройте веб-браузер и в адресной строке введите: http://localhost/www/MyEX/index.php
Вывод данных на экран с помощью языка PHP для чайников
- Вывод данных в окно (клиентскую область веб-браузера) с помощью PHP можно выполнить посредством оператора echo. Этот оператор позволяет вывести данные различных типов: числа, символьные строки и т.д.
- Синтаксис оператора вывода:
echo элемент1, элемент2, элемент3, ..., элементN
- Строковые данные заключаются в двойные или одинарные кавычки. В двойных кавычках код интерпретируется PHP. Все, что заключено в одинарные кавычки выводится без какой бы ни было интерпретации. Пример:
< ?php $x="PHP"; //присвоение значения переменной echo "Привет","всем"; echo " "; echo "
«; echo ‘
‘ ?>
- Для вывода более подробной информации о переменной, которая может понадобиться при отладке программы, служит функция var_dump(). Ее синтаксис:
var_dump(cписок переменных);
- В списке переменных указывается одно или несколько имен переменных. Эта функция ничего не возвращает. Пример:
$x=12.56; var_dump($x);
- Менее информативной, чем var_dump(), функцией вывода сведений о переменных является:
print_r(список_переменных);
- Для переменных типа «массив» эта функция выводит список вида индекс => элемент.
Переменные языка РНР для чайников
- Переменные – контейнеры для хранения данных. Данные, сохраняемые в переменной, называют значением этой переменной.
- Переменная имеет имя – последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания, начинающаяся обязательно с символа доллара ($), за которым должна следовать буква или символ подчеркивания.
- Правильные имена переменных: $_tel, $tmp, $my_, $address_234_45.
- Неправильные имена переменных: $234tel, my address, $tel:234.
- РНР является регистро-ависимым языком относительно имен переменных и констант. Однако ключевые слова могут использоваться в любом регистре.
Типы данных языка РНР и преобразование данных для чайников
Тип данных | Пример | Описание значений |
---|---|---|
Строковый или символьный (string) | «Привет всем» «123456» «25 рублей» |
Последовательность символов, заключенная в кавычки |
Целочисленный, числовой (integer) | -234 25 0 |
Число или последовательность цифр, перед которыми может быть указан знак числа |
Числовой с плавающей точкой (float) | 5.47 21.4 35E-3 |
Число с дробной частью (35Е2 означает 3500) |
Логический (булевый, boolean) | true false |
Этот тип имеет два значения: true (истина, да), false (ложь, нет) |
NULL | null | Этот тип данных имеет одно значение — null |
Массив (Array) | Этот тип данных имеет одно множество значений, которые могут быть различных типов | |
Объект (Object) | Программный объект, определяемый своими свойствами |
- Для того, чтобы узнать какой тип переменной, нужно воспользоваться функцией:
gettype(имя_переменной);
- Для явного задания типа можно воспользоваться одним из двух способов:
Имя_переменной=(int) 12.45 //результат 12 Settype(имя_переменной, "тип")
< ?php $x="PHP"; $s=gettype($x); echo $s, " "; settype($e,"integer"); $s=gettype($e); echo $s, " "; $d=(int)24.4; $s=gettype($d); echo $s, " ", $d; ?>
Константы языка PHP для чайников
- Константой называется именованная величина, которая не изменяется в процессе выполнения программы (скрипта).
- В отличие от переменных, вы не можете изменять значения констант, которые были им присвоены при их объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).
- В РНР константы определяются функцией define(). Вот ее синтаксис:
define($name, $value, $case_sen);
$name — имя константы.
$value — значение константы.
$case_sen — необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).
define("pi",3.14,true); echo pi; //Выводит 3.14
- Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Пример:
//Объявляем константу pi define("pi",3.14,true); if (defined("pi")==true) echo "Константа pi объявлена!"; //Скрипт выведет 'Константа pi объявлена!'
Различия между константами и переменными в языке PHP для чайников
- У констант нет приставки в виде знака доллара ($).
- Константы можно определить только с помощью функции define(), а не присваиванием значения.
- Константы могут быть определены и доступны в любом месте без учета области видимости.
- Константы не могут быть определены или аннулированы после первоначального объявления.
- Константы могут иметь только скалярные значения.
В этой статье я перечислил базовые понятия языка PHP для чайников. Теперь пора ознакомиться с конструкциям этого языка и перейти, непосредственно, к программированию. Об этом моя следующая статья — PHP программирование для чайников.
compuzilla.ru
Using PHP | A PHP Example
Using PHP Only the User Web Server has support for PHP. The Production Web Server does not, although this may be added at a later date. At the moment, PHP support is classified as experimental. This means that if an unpatchable vulnerability is reported, access to PHP will be discontinued until a patch is available. Recent versions of PHP seem reasonably stable and reliable. Many of the current PHP related vulnerabilities involve packages that run under PHP, rather than PHP itself. If you believe the developers, PHP is an acronym for PHP: Hypertext Preprocessor. However, historical trivia buffs will recall that Version 1 of PHP was distributed as the Personal Home Page Toolkit. Version 1 was simply a collection of commonly wanted CGI scripts. Since then PHP has grown into a very powerful scripting language that allows you to embed scripting commands within HTML. The scripts execute on the server, so are not dependent on the viewer’s web |
|
|||||||||||
browser. PHP can be used within web pages, it can also be used for CGI scripts. One of the advantages to using PHP is that the same file can display a FORM and process the reply. To use PHP within web pages:
To use PHP for CGI scripts:
Since PHP web pages can also process CGI forms, you may wonder why you would create a PHP/CGI page to be run under "cgiwrap". The answer is fairly simple. If the PHP script will access files, then it should be run using the cgiwrap process. If it is just another web page, then the only files that it can access are ones that are world-readable (or even worse, world-writable). If it runs under cgiwrap then the files that it accesses need only belong to you. Security Note: PHP is configured to only be able to access files that belong to the owner of the PHP web page or script. Testing PHP It is much harder to bench-test PHP scripts than other types of executable web content. PHP scripts can be invoked at a command prompt using the command-line interpretter for PHP. prompt[ ]> php script_name.php However, if it is not being run under the control of a web server, many of the web interface capabilities are disabled. You can use this method to perform basic syntax checks, and to see if the default output appears to be HTML. Beyond that, you are effectively forced to test using a web server. You can still check that your scripts are not looping or doing other undesirable things by using the same techniques outlined in the testing section . If your script is running as a web page, rather than as a cgiwraped process, then apply the same checks as are outlined for an SSI web page that uses non-setuid programs. You can also check the PHP error log. This is available in file "/var/log/httpd/LOG.PHPmessages". This file is world-readable. As with other web server log files, you can watch for messages as they appear using "tail -f LOG.PHPmessages" from within the Apache log directory. As with other scripts, you can use the debugging version of the "cgiwrap" process, "cgiwrapd". You can also explicitely specifiy that the script is PHP by using, "php-cgiwrap" and "php-cgiwrapd" respectively. However these are only needed if your PHP script does not have a ".php" file extension in its name. A PHP Example: This is a fairly simple example of something that can be done with PHP. It is designed to run as a CGI script under the cgiwrap process. It processes a form and displays the result. Note that the output of this script is provided by a mix of embedded HTML and PHP I/O commands. If you were to install this code in your "cgi-bin" directory as an executable file called "Example.php", it would display a form asking for a file name and, once submitted, would safely display the text in that file. The script is originally invoked as: http://www2.cs.uregina.ca/cgi-bin/cgiwrap/username/Example.php. Every time that the submit button is clicked, it reruns itself under the same URL. If you wish to try this example, you will have to replace "username" with your log in name.
<?PHP if (isset($_POST ["file"])) { $FileName = $File = $_POST ["file"]; } else { $FileName = ""; } ?> <HTML> <BODY BGCOLOR=#FFFFFF> <FORM ACTION=/cgi-bin/cgiwrap/username/Example.php METHOD=POST> <P>Enter FileName: <?PHP echo " <INPUT TYPE=TEXT NAME=file VALUE="$FileName" SIZE=75>n"; ?> <P><BR><P> <INPUT TYPE=SUBMIT VALUE="Show Me!"> </FORM> <P><BR><P> <P><BR><P> <P><BR><P> <?PHP if (isset($File)) { $Handle = @fopen ($File, "r"); // '@' suppresses external errors if ($Handle) { $FileText = fread ($Handle, 10000); // Read up to 10,000 Bytes fclose ($Handle); // Fix HTML tags that may be there $SafeText1 = str_replace ("&", "&", $FileText); $SafeText2 = str_replace ("<", "<", $SafeText1); $SafeText = str_replace (">", ">", $SafeText2); // Now it is safe to display it echo " <H2 ALIGN=CENTER>File: $File</H2>n"; echo "<PRE>n"; echo $SafeText; echo "</PRE>n"; } else { echo " <H3>Error: File '$File' is not accessible.</H3>n"; } } ?> </BODY> </HTML> These fairly simple examples are not intended to teach anyone how to use PHP. For complete details on the PHP Language, refer to the manual. This is available on-line from http://www.php.net/manual. |
www.cs.uregina.ca
Как это работает
Итак, на сервере хранится страничка, написанная на php. Пользователь набирает адрес этой странички в браузере. Что происходит после нажатия клавиши Enter? Сервер пошагово исполняет команды и отправляет пользователю результат в виде html-кода. Этот код отображается в окне браузера в виде текста, картинок, видео и так далее (контент). В процессе формирования внешнего вида странички браузер может посылать дополнительные запросы к серверу. Обратите внимание, команды не выполняются непосредственно на компьютере пользователя браузером.
Простые примеры программ
Код программы заключается в специальные ограничители: <?php … ?> Одна из базовых команд – echo, она выводит текст в окно браузера. Пример:
?php echo "Первая строка текста<br>А вот и вторая строка"; ?>
В языке широко используются переменные, они бывают следующих типов:
Название переменной представляет собой набор латинских букв, цифр (в конце переменной) и символа подчеркивания (не в конце переменной); помечается символом «$». Пример использования переменных разных типов:
<?php $k=10; $str1="Моя температура"; $temp=36.6; $_mas=array(36.7,36.8,36.6); echo "$str1 $temp"; ?>
Над целыми и десятичными числами можно производить различные математические операции:
Конструкции php очень напоминают аналогичные из языка C, поэтому опытному программисту не составит труда их освоить. Вот как выглядит применение двух разных операторов цикла для вывода последовательности чисел от 0 до 9:
<?php for ($i=0; $i<10; $i++) echo "$i "; echo "<br>"; $i=0; while($i<10) { echo "$i "; $i++; } ?>
Реализация массивов отличается от аналогичной в языке C, в PHP широко применяются ассоциативные массивы (подробнее о них можно почитать здесь). Но никто не запрещает использовать массивы традиционным способом, например, так:
<?php $mas=array(10,20,30,40,50); for ($i=0; $i<5; $i++) echo "$mas[$i] "; echo "<br>"; ?>
В интерпретаторе используется множество встроенных функций – математических, строковых, для обработки времени и дат, графических и так далее. Вот неполный список. Пользователь может писать и собственные функции. Пример функции, которая определяет, может ли быть текстовая строка E-mail адресом:
<?php function this_is_mail($str) { $pr=0; // просмотр всех символов for($i=0; $i<strlen($str); $i++) if ($str[$i]==="@") $pr++; if ($pr==0) return 0; if ($pr>1) return 0; // если есть ровно один значок @, всё ОК return 1; } echo this_is_mail("box@gmail.com"); ?>
Познакомиться с основами языка можно здесь.
С чего лучше начать изучение php
Если пользователю Windows необходимо изучить основы php, то с чего лучше начинать?
Вот в принципе и все, что вам для начала нужно знать о языке программирования PHP. Если вы подписаны на мой блог, то вскоре узнаете о нем больше. До встречи!
www.advdk.com
Константы
Константы определяются в PHP-программе с помощью функции define( ). Например:
define("PI", 3.1415927);
После определения константа не может быть изменена. В имени константы обычно используются только заглавные буквы.
PHP имеет ряд предопределенных констант. Например:
- _FILE_ содержит имя файла, включая полный путь, который в данный момент читает PHP
- _LINE_ содержит номер строки этого файла
- __DIR__ представляет только путь к файлу
- __CLASS__ представляет имя текущего класса
- __FUNCTION__ представляет имя текущей функции
- __METHOD__ представляет имя текущего метода
- __NAMESPACE__ представляет имя текущего пространства имен
Переменные
Имя любой переменной в PHP начинается со знака $. Имена переменных чувствительны к регистру символов.
Тип переменной не требуется задавать специально. Конкретный тип переменной устанавливается и меняется в ходе выполнения программы.
PHP поддерживает восемь типов данных:
- логический (принимает значения true или false);
- целое число;
- вещественное число с плавающей точкой;
- строка;
- объект;
- массив;
- ресурс (специальный тип);
- null (специальный тип).
Тип переменной можно проверить с помощью функции gettype().
Пример 1
<html> <head> <title>Автоматическое изменение и проверка типа переменной</title> </head> <body> <?php $t = "0"; echo "t = $t -- ".gettype($t)."<br>"; $t += 2; echo "t = $t -- ".gettype($t)."<br>"; $t = $t + 3.5; echo "t = $t -- ".gettype($t)."<br>"; $t = 5 + "5 поросят"; echo "t = $t -- ".gettype($t)."<br>"; $t = 5.0 + "5 поросят"; echo "t = $t -- ".gettype($t); ?> </body> </html>
Тип переменной можно изменить с помощью функции settype().
Пример 2
<html> <head> <title>Изменение типа переменной</title> </head> <body> <?php $t = 3.14; echo "t = $t -- ".gettype($t)."<br>"; settype($t,"string"); echo "t = $t -- ".gettype($t)."<br>"; settype($t,"integer"); echo "t = $t -- ".gettype($t)."<br>"; settype($t,"double"); echo "t = $t -- ".gettype($t)."<br>"; settype($t,"boolean"); echo "t = $t -- ".gettype($t); ?> </body> </html>
Приведение типа переменной осуществляется с помощью операторов:
- (bool) — к логическому типу;
- (int) — к целому числу;
- (double) — к вещественному числу;
- (string) — к строке;
- (array) — к массиву;
- (object) — к объекту.
Отличие от изменения типа с помощью функции settype() состоит в том, что оператор приведения создает временную копию нового типа, оставляя саму переменную без изменений.
Пример 3
<html> <head> <title>Приведение типа переменной</title> </head> <body> <?php $t = 3.14; $tmp = (string) $t; echo "tmp = $tmp -- ".gettype($tmp)."<br>"; $tmp = (int) $t; echo "tmp = $tmp -- ".gettype($tmp)."<br>"; $tmp = (double) $t; echo "tmp = $tmp -- ".gettype($tmp)."<br>"; $tmp = (bool) $t; echo "tmp = $tmp -- ".gettype($tmp)."<br>"; echo "t = $t -- ".gettype($t); ?> </body> </html>
Иногда для упрощения логики программы удобнее использовать переменные имена переменных. PHP предоставляет такую возможность в виде динамических переменных. Динамической называют переменную, имя которой хранится в ней самой.
Пример 4
<html> <head> <title>Использование динамической переменной</title> </head> <body> <?php $t = "Всем"; // переменной t присваиваем значение "Всем" $$t = "привет!"; // Переменной "Всем" присваиваем значение "привет!" echo "$$t ".$$t."<br>"; echo "$t ${$t}<br>"; echo "$t $Всем"; ?> </body> </html>
В PHP возможно обращение к одной и той же переменной с использованием различных имен. Для реализации этого используются ссылки. Ссылки позволяют двум или большему количеству переменных ссылаться на одну и ту же область памяти.
Пример 5
<html> <head> <title>Создание ссылки на переменную</title> </head> <body> <?php $t1 = 96; $t2 = &$t1; echo "t1 = $t1; t2 = $t2<br>"; $t1 = 315; echo "t1 = $t1; t2 = $t2"; ?> </body> </html>
Операторы
Операторы PHP напоминают общеизвестные операторы языка Си.
Унарные операторы
— | Изменение знака на противоположный |
! | Дополнение. Используется для реверсирования значения логических переменных |
++ | Увеличение значения переменной. Может применяться и как префикс, и как суффикс |
— | Уменьшение значения переменной. Может применяться и как префикс, и как суффикс |
Арифметические операторы
— | Вычитание |
+ | Сложение |
* | Умножение |
/ | Деление |
% | Остаток от деления |
Оператор конкатенации
Оператор конкатенации «.» присоединяет правую строку к левой.
Пример 6
<html> <head> <title>Конкатенация строк</title> </head> <body> <?php $a = "Всем"; $b = $a." привет!"; echo $b; ?> </body> </html>
Оператор конкатенации обрабатывает операнды любых типов как строки. Результат его выполнения всегда является строкой.
Операторы присваивания
= | Присваивание |
+= | Сложение ($n += 777; аналогично $n = $n + 777;) |
-= | Вычитание ($n -= 777; аналогично $n = $n — 777;) |
*= | Умножение |
/= | Деление |
%= | Остаток от деления |
.= | Конкатенация ($n .= «777»; аналогично $n = $n.»777″;) |
Битовые операторы
Битовые операторы позволяют изменять отдельные биты целых чисел.
& | И |
| | ИЛИ |
^ | Исключающее ИЛИ |
~ | Инверсия |
>> | Сдвиг вправо |
<< | Сдвиг влево |
Операторы сравнения
> | Больше ( Больше ли первое значение, чем второе?) |
>= | Больше или равно ( Верно ли, что первое значение не меньше второго?) |
< | Меньше ( Меньше ли первое значение, чем второе?) |
<= | Меньше или равно (Верно ли, что первое значение не больше второго?) |
== | Равно (Равнозначны ли значения двух переменных?) |
=== | Идентично (Одинаковы ли как значения, так и типы двух переменных?) |
!= , <> | Не равно (Не равны ли значения двух переменных?) |
!== | Не идентично (Не одинаковы ли значения или типы данных двух переменных?) |
Логические операторы
Логические операторы отличаются от битовых тем, что работают не с числами, а с логическими значениями: TRUE и FALSE.
and | И |
or | ИЛИ |
xor | Исключающее ИЛИ |
! | Инверсия |
>> | Сдвиг вправо |
<< | Сдвиг влево |
&& | И |
|| | ИЛИ |
Логические операторы «И» и «ИЛИ» имеют два формата. Это не синонимы. Дело в том, что оператор or имеет приоритет ниже, чем ||, а and — ниже, чем &&. Таким образом, при построении сложных условных выражений можно обойтись без скобок. Однако, в таком способе указания порядка проще и запутаться.
Проверка содержимого переменной
Иногда необходимо проверить, существует ли переменная или какое она имеет значение. Ниже приведены функции, позволяющие выполнить такие действия.
isset($имя_переменной) #Истина, если переменная объявлена даже без присваивания значения.
empty($имя_переменной) #Истина, если значение переменной равно нулю или пустой строке, либо переменная не объявлена.
РНР также позволяет проверить тип переменной. Например, для того чтобы проверить, является ли переменная целочисленной, следует воспользоваться функцией
is_int($number)
Результатом выполнения этой функции является TRUE, если переменная $number имеет тип integer. Рассмотрим подобные функции.
is_array ($var2) проверяет, является ли переменная $var2 массивом.
is_f loat ($number) проверяет, является ли переменная $number числом с плавающей точкой.
is_null ($varl) проверяет, равно ли значение переменной $varl нулю
is_numeric($string) проверяет, является ли переменная $string числовой строкой.
is_string ($string) проверяет, является ли переменная $string строкой.
Для проверки обратных условий следует воспользоваться символом восклицания (!). Например, при обработке следующего выражения будет получено значение TRUE, если переменная не объявлена:
! isset($имя_переменной)
Управляющие структуры
Условные операторы
В языке PHP два условных оператора: if и ?.
Существует три типа оператора if. Первый тип — базовый условный оператор. Например:
if ($a > $b) { echo "А больше Б"; }
Альтернативный синтаксис оператора if:
if ($a > $b): echo "А больше Б"; endif;
Второй тип — условный оператор if-else. Например:
if ($a > $b) { echo "А больше Б"; } else { echo "А не больше Б"; }
Альтернативный синтаксис оператора if-else:
if ($a > $b): echo "А больше Б"; else: echo "А не больше Б"; endif;
Третий тип — условный оператор if-elseif. Например:
if ($a > $b) { echo "А больше Б"; } elseif ($a == $b) { echo "А равно Б"; } else { echo "А меньше Б"; }
Альтернативный синтаксис оператора if-elseif:
if ($a > $b): echo "А больше Б"; elseif ($a == $b): echo "А равно Б"; else: echo "А меньше Б"; endif;
Условный оператор ? возвращает одно из двух значений, разделенных двоеточием. Использование оператора ? может сделать более компактным текст программы. Например:
$text = ($a == $b) ? "А равно Б" : "А не равно Б"; echo $text;
Оператор выбора
Оператор выбора switch оценивает одно выражение и в зависимости от его значения выполняет один из нескольких блоков программы. Выражение в операторе switch чаще всего бывает простой переменной. Например:
switch ( $a ) { case 1: echo "А равно 1"; break; case 2: echo "А равно 2"; break; case 3: echo "А равно 3"; break; default: echo "А не равно ни 1, ни 2, ни 3"; }
Альтернативный синтаксис оператора switch:
switch ( $a ): case 1: echo "А равно 1"; break; case 2: echo "А равно 2"; break; case 3: echo "А равно 3"; break; default: echo "А не равно ни 1, ни 2, ни 3"; endswitch;
Цикл с параметром
Цикл с параметром for относится к наиболее старому и заслуженному виду цикла.
Пример 7
<html> <head> <title>Цикл for</title> </head> <body> <?php for ($a = 11; $a <= 19; $a++) { echo "квадрат $a равен ".($a*$a)."<br>"; } ?> </body> </html>
Альтернативный синтаксис оператора for:
for ($a = 11; $a <= 19; $a++): echo "квадрат $a равен ".($a*$a)."<br>"; endfor;
Циклы с условием
В языке PHP сущеcтвует два типа цикла с условием:
- while — цикл с предусловием;
- do .. while — цикл с постусловием.
Оператор while оценивает значение условия и, если оно истинно, выполняет действия в фигурных скобках (тело цикла). Как только значение условия станет ложным, выполнение цикла прекращается.
Пример 8
<html> <head> <title>Цикл while</title> </head> <body> <?php $a = 11; while ( $a <= 19 ) { echo "квадрат $a равен ".($a*$a)."<br>"; $a++; } ?> </body> </html>
Замечание для продвинутых: сокращенная запись не сработает как ожидается:
while ( $a <= 19 ) { echo "квадрат $a равен ".($a*($a++))."<br>"; // так не работает!!! }
Альтернативный синтаксис оператора while:
while ( $a <= 19 ): echo "квадрат $a равен ".($a*$a)."<br>"; $a++; endwhile;
Цикл do .. while отличается от цикла while лишь тем, что истинность условия проверяется не до, а после выполнения тела цикла.
htmlweb.ru
Переменная $GLOBALS. Ассоциативный массив (array), содержащий ссылки на все переменные глобальной области видимости скрипта, определенные в данный момент. Имена переменных являются ключами массива.
<?php $conf['conf']['foo'] = 'this is foo'; $conf['conf']['bar'] = 'this is bar'; global $conf; // добавляем переменную в глобальный массив видимости скрипта $output = print_r($GLOBALS["conf"], true); echo "$outputn"; ?>
Для объявления глобальной переменной ее достаточно поместить в массив $GLOBALS
$GLOBALS['testkey2']='testvalue2';
Вывести на экран все значения переменных массива $GLOBALS можно при помощи print_r($GLOBALS); или так:
foreach ($GLOBALS as $key=>$value) echo 'GLOBALS['.$key.'] == '.$value.'<br>';
Переменная $_SERVER.
Переменная $_GET.
Переменная $_POST.
Переменная $_FILES — переменные файлов, загруженных по протоколу Методы и структура протокола HTTP методом POST. PHP — загрузка файла на сервер.
Переменная $_REQUEST — ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE. Переменные в массиве $_REQUEST передаются в скрипт посредством методов GET, POST или COOKIE, поэтому им нельзя доверять, т.к. они могли быть изменены удаленным пользователем. Их наличие и порядок добавления данных в соответствующие массивы определяется директивой variables_order (по умолчанию установлено GPCS).
Переменная $_SESSION
Переменная $_ENV. Заполняется если скрипт был запущен из командной строки. Массив $_SERVER будет содержать все переменные из массива $_ENV.
Переменная $_COOKIE: Cookie.
Переменная $http_response_header
wiki.dieg.info