Язык программирования PHP

         

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


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

<? $books["key"]= value; // добавили в массив // $books значение // value с ключом key $books[] = value1; /* добавили в массив значение value1 с ключом 13, поскольку максимальный ключ у нас был 12 */ ?>

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

<?php $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().

<?php $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); ?>

Пример 2.11. Переиндексация массива (html, txt)

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

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



Содержание раздела