Интернет-Университет Информационных Технологий: бесплатное дистанционное образование компьютерным дисциплинам
  Лекции
Язык программирования PHP
1.   Введение в PHP
2.   Основы синтаксиса
3.   Управляющие конструкции
4.   Обработка запросов с помощью PHP
5.   Функции в PHP
6.   Объекты и классы в PHP
7.   Работа с массивами данных
8.   Работа со строками
9.   Работа с файловой системой
10.   Базы данных и СУБД. Введение в S...
11.   Взаимодействие PHP и MySQL
12.   Авторизация доступа с помощью се...
13.   Регулярные выражения
14.   Взаимодействие PHP и XML
15.   Использование шаблонов в PHP
    Экзамен
    Сдать экзамен экстерном
    Литература
    Предметный указатель
    Примеры

Язык программирования PHP
7. Лекция: Работа с массивами данных
Страницы: 1 | 2 | 3 | 4 | 5 | 6 | вопросы | » | учебники | для печати и PDA
  Если Вы заметили ошибку - сообщите нам.  
Лекция посвящена более подробному изучению массивов и функций, встроенных в PHP для работы с ними. Рассматриваются функции для поиска элементов в массиве, для сортировки элементов массива, а также применение созданных пользователем функций ко всем элементам массива, разбивка массива на подмассивы и другое

Язык PHP предоставляет множество функций для работы с массивами данных. Как правило, эти функции решают наиболее часто встречающиеся задачи, связанные с обработкой массивов. В этой лекции мы рассмотрим некоторые из таких функций и с их помощью решим несколько прикладных задач. В частности, будут рассмотрены функции для поиска элементов в массиве, для сортировки элементов массива, применение созданных пользователем функций ко всем элементам массива и разбивка массива на подмассивы.

Массивы

В одной из первых лекций мы рассказывали о том, как можно создать массив данных. Напомним, что массив можно создать двумя способами:

  1. С помощью конструкции array

    $array_name = array("key1"=>"value1",
                        "key2"=>"value2");
    
  2. Непосредственно задавая значения элементам массива

    $array_name["key1"] = value1;
    

Например, нам нужно хранить список документов, которые будут удалены из базы данных. Естественно хранить его в виде массива, ключом в котором будет идентификатор документа (его уникальный номер), а значением – название документа. Этот массив можно создать таким образом:

<?
$del_items = array("10"=>"Наука и жизнь",
   "12"=>"Информатика");
$del_items["13"] = "Программирование на Php"; 
    // добавляем элемент в массив
?>
    

Операции с массивами

Массив – это тип данных, с данными этого типа должны быть определены операции. Какие же операции можно производить с массивами? Массивы можно складывать и сравнивать.

Складывают массивы с помощью стандартного оператора «+». Вообще говоря, эту операцию по отношению к массивам точнее назвать объединением. Если у нас есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Причем, если встречаются совпадающие ключи, то в результирующий массив включается элемент из первого массива, т.е. из $a. Таким образом, если складываются массивы в языке PHP, от перемены мест слагаемых сумма меняется.

<?
$a = array("и"=>"Информатика", 
           "м"=>"Математика");
$b = array("и"=>"История","м"=>"Биология",
           "ф"=>"Физика");
$c = $a + $b;
$d = $b +$a;
print_r($c); 
/* получим: Array([и]=>Информатика
   [м]=>Математика [ф]=>Физика) */
print_r($d); 
/* получим: Array([и]=>История
   [м]=>Биология [ф]=>Физика) */
?>
        
Пример 7.1. Сложение массивов (html, txt)

Сравнивать массивы можно, проверяя их равенство или неравенство либо эквивалентность или неэквивалентность. Равенство массивов – это когда совпадают все пары ключ/значение элементов массивов. Эквивалентность – когда кроме равенства значений и ключей элементов требуется еще, чтобы элементы в обоих массивах были записаны в одном и том же порядке. Равенство значений в PHP обозначается символом «==», а эквивалентность – символом «===».

<?
$a = array("и"=>"Информатика", 
           "м"=>"Математика");
$b = array("м"=>"Математика", 
           "и"=>"Информатика");
if ($a == $b) echo "Массивы равны и";
  else echo "Массивы НЕ равны и ";
if ($a === $b) echo " эквивалентны";
  else echo " НЕ эквивалентны";
// получим echo "Массивы равны и 
                     НЕ эквивалентны"
?>
        
Пример 7.2. Сравнение массивов (html, txt)

Далее рассмотрим еще одну важную операцию с массивом – подсчет количества его элементов. Для ее реализации в PHP есть специальная функция.

Функция count

Не раз уже мы использовали функцию count(), чтобы вычислить количество элементов массива. На самом деле эта функция вычисляет число элементов в переменной вообще. Если применить ее к любой другой переменной, она возвратит 1. Исключение составляет переменная типа NULLcount(NULL) есть 0. Кроме того, применяя эту функцию к многомерному массиву, чтобы получить число его элементов, нужно использовать дополнительный параметр COUNT_RECURSIVE.

<?
$del_items = array("langs" => array(
    "10"=>"Python", "12"=>"Lisp"), 
    "other"=>"Информатика");
echo count($del_items) . "<br>"; 
    // выведет 2
echo count($del_items,COUNT_RECURSIVE); 
    // выведет 4
?>
            
Пример 7.3. Применение функции count() (html, txt)

Мы не будем повторять все, что было сказано о массивах в предыдущих лекциях. В этой лекции мы рассмотрим некоторые встроенные функции для работы с массивами. И начнем мы с функций для поиска значений в массиве.

Дальше »
  Если Вы заметили ошибку - сообщите нам.  
Страницы: 1 | 2 | 3 | 4 | 5 | 6 | вопросы | » | учебники | для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь

Телефон: (495) 253-9312, 253-9313, факс: (495) 253-9310, email: info@intuit.ru
© 2003-2006, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование