Пример 1. Массивы в PHP
<?php
$books = array ("php" => "PHP users guide",
12 => true);
echo $books["php"]; //выведет "PHP users guide“
echo $books[12]; //выведет 1
?>
Если для элемента ключ не задан, то в качестве ключа берется максимальный числовой ключ, увеличенный на единицу. Если указать ключ, которому уже было присвоено какое-то значение, то оно будет перезапи-сано. Начиная с PHP 4.3.0, если максимальный ключ – отрицательное число, то следующим ключом массива будет ноль (0).
Тип Null
Специальное значение NULL говорит о том, что переменная не имеет значения.
Переменная считается NULL, если:
• ей была присвоена константа NULL
($var = NULL);
• ей еще не было присвоено какое-либо значение;
• она была удалена с помощью unset().
Существует только одно значение типа NULL – регистронезависимое ключевое слово NULL.
Тип resource (ресурсы)
Ресурс – это специальная переменная, содержащая ссылку на внешний ресурс (например, соединение с базой данных). Ресурсы создаются и используются специальными функциями (например, mysql_connect(), pdf_new() и т.п.).
Тип object (объекты)
Объекты – тип данных, пришедший из объектно-ориентированного программирования (ООП). Согласно принципам ООП, класс – это набор объек-тов, обладающих определенными свойствами и методами работы с ним, а объект соответственно – экземпляр класса. Например, программисты – это класс людей, которые пишут программы, изучают компьютерную литературу и, кроме того, как все люди, имеют имя и фамилию. Теперь, если взять одного конкретного программиста, Васю Иванова, то можно сказать, что он является объектом класса программистов, обладает теми же свойствами, что и другие программисты, тоже имеет имя, пишет программы и т.п.
В PHP для доступа к методам объекта используется оператор ->. Для инициализации объекта исполь-зуется выражение new, создающее в переменной экземпляр объекта.
Пример 2.Объекты в PHP
<?php
//создаем класс людей
class Person
{
// метод, который обучает человека PHP
function know_php()
{ echo "Теперь я знаю PHP";
}
}
$bob = new Person; // создаем объект класса человек
$bob -> know_php(); // обучаем его PHP
?>
Операторы языка
Операторы позволяют выполнять различные действия с переменными, константами и выражениями. Мы еще не упоминали о том, что такое выражение. Выражение можно определить как все, что угодно, что имеет значение. Переменные и константы – это основные и наиболее простые формы выра-жений. Существует множество операций (и соответствующих им операторов), которые можно производить с выражениями. Рассмотрим некоторые из них подробнее.
Условные операторы
Оператор if
Структуру оператора if можно представить следующим образом:
if (выражение) блок_выполнения;
Здесь выражение есть любое правильное PHP-выражение (т.е. все, что имеет значение). В процессе обработки скрипта выражение преобразуется к логическому типу. Если в результате преобразования значение выражения истинно (True), то выполняется блок_выполнения. В противном случае блок_выполнения игнорируется. Если блок_выполнения содержит несколько команд, то он должен быть заключен в фигурные скобки { }.
Правила преобразования выражения к логическому типу:
1. В FALSE преобразуются следующие значения:
• логическое False
• целый ноль (0)
• действительный ноль (0.0)
• пустая строка и строка "0"
• массив без элементов
• объект без переменных (подробно об объектах будет рассказано в одной из следующих лекций)
• специальный тип NULL
2. Все остальные значения преобразуются в TRUE.
Пример 1. Условный оператор if
<?
$names = array("Иван","Петр","Семен");
if ($names[0]=="Иван") {
echo "Привет, Ваня!";
$num = 1;
$account = 2000;}
if ($num) echo "Иван первый в списке!";
$bax = 30;
if ($account > 100*$bax+3)
echo "Эта строчка не появится на экране, так как условие не выполнено";
?>
Оператор else (полный условный оператор)
Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях. Структуру расширенного оператора if с помощью оператора else, можно представить как:
if (выражение) блок_выполнения1;
else блок_выполнения2;
Если выполнено условие (т.е. выражение=true), то выполняем действия из блока_выполнения1, иначе – действия из блока_выполнения2. Использовать оператор else не обязательно. Посмотрим, как можно изменить предыдущий пример, учитывая необходимость совершения действий и в случае невыполнения условия.
<?
$names = array("Иван","Петр","Семен");
if ($names[0]=="Иван") {
echo "Привет, Ваня!";
$num = 1;
$account = 2000;}
else {
echo "Привет, $names[0] . А мы ждали Ваню :("; }
if ($num) echo "Иван первый в списке!";
else echo "Иван НЕ первый в списке?!";
$bax = 30;
if ($account > 100*$bax+3)
echo "Эта строка не появится на экране, так
как условие не выполнено";
else echo "Зато появится эта строка!";
?>