Курс "Язык программирования PHP" - страница 13

стр.

>

>$arr1 = array(5 => 43, 6 => 32,

> 7 => 56, "b" => 12);

>?>


Если использовать в качестве ключа TRUE или FALSE, то его значение переводится соответственно в единицу и ноль типа integer. Если использовать NULL, то вместо ключа получим пустую строку. Можно использовать и саму пустую строку в качестве ключа, при этом ее надо брать в кавычки. Так что это не то же самое, что использование пустых квадратных скобок. Нельзя использовать в качестве ключа массивы и объекты.


Определение с помощью синтаксиса квадратных скобок


Создать массив можно, просто записывая в него значения. Как мы уже говорили, значение элемента массива можно получить с помощью квадратных скобок, внутри которых нужно указать его ключ например, $book["php"]. Если указать новый ключ и новое значение например, $book["new_key"]="new_value", то в массив добавится новый элемент. Если мы не укажем ключ, а только присвоим значение $book[]="new_value", то новый элемент массива будет иметь числовой ключ, на единицу больший максимального существующего. Если массив, в который мы добавляем значения, еще не существует, то он будет создан.


>

>$books["key"]= value; // добавили в массив

> // $books значение

> // value с ключом key

>$books[] = value1; /* добавили в массив

> значение value1 с

> ключом 13, поскольку

> максимальный ключ у

> нас был 12 */

>?>


Для того чтобы изменить конкретный элемент массива, нужно просто присвоить ему с его ключом новое значение. Изменить ключ элемента нельзя, можно только удалить элемент (пару ключ/значение) и добавить новую. Чтобы удалить элемент массива, нужно использовать функцию unset().


>

>$books = array ("php" =>

> "PHP users guide",

> 12 => true);

>$books[] =

> "Book about Perl"; // добавили элемент

> // с ключом (индексом)

> // 13 это эквивалентно

> // $books[13] =

> // "Book about Perl";

>$books["lisp"] =

> 123456; /* Это добавляет к массиву новый

> элемент с ключом "lisp" и

> значением 123456 */

>unset($books[12]); // Это удаляет элемент

> // c ключом 12 из массива

>unset ($books); // удаляет массив полностью

>?>


Заметим, что, когда используются пустые квадратные скобки, максимальный числовой ключ ищется среди ключей, существующих в массиве с момента последнего переиндексирования. Переиндексировать массив можно с помощью функции array_values().


>

>$arr =

> array ("a","b","c"); /* Создаем массив

> со значениями

> "a", "b" и "c".

> Поскольку ключи

> не указаны, они

> будут 0,1,2

> соответственно */

>print_r($arr); // выводим массив (и ключи,

> // и значения)

>unset($arr[0]);

>unset($arr[1]);

>unset($arr[2]);

> // удаляем из него все значения

>print_r($arr); // выводим массив (и ключи,

> // и значения)

>$arr[] = "aa"; // добавляем новый элемент

> // в массив.

> // Его индексом (ключом)

> // будет 3, а не 0

>print_r($arr);

>$arr =

> array_values($arr); // переиндексируем

> // массив

>$arr[] = "bb"; // ключом этого элемента

> // будет 1

>print_r($arr);

>?>


Результатом работы этого скрипта будет:


>Array ( [0] => a [1] => b [2] => c )

>Array ( )

>Array ( [3] => aa )

>Array ( [0] => aa [1] => bb )


Тип object (объекты)


Объекты – тип данных, пришедший из объектно-ориентированного программирования (ООП). Согласно принципам ООП, класс – это набор объектов, обладающих определенными свойствами и методами работы с ним, а объект соответственно – экземпляр класса. Например, программисты – это класс людей, которые пишут программы, изучают компьютерную литературу и, кроме того, как все люди, имеют имя и фамилию. Теперь, если взять одного конкретного программиста, Васю Иванова, то можно сказать, что он является объектом класса программистов, обладает теми же свойствами, что и другие программисты, тоже имеет имя, пишет программы и т.п.