Обучение HTML, Excel, Word. Как сделать свой сайт бесплатно

Microsoft Office

Сайтостроение

HTML

Программинг

Компьютер

Графика

Разное

· Основы Word
· Основы Excel
· Основы VBA
· Основы OpenOffice
· Как сделать сайт
· Свой сайт от А до Я
· Оптимизация сайта
· Шаблоны для сайта
· Обзор CMS
· Основы HTML
· HTML-теги
· Основы CSS
· Основы PHP
· Основы JavaScript
· Софт для сайта
· Что внутри ПК
· ПК для чайников
· Все о BIOS
· Web-графика
· САПР: AutoCAD
· Статьи
· Форум
· SEO-новости
Главная страница Карта сайта
Учебник PHP
Основы SQL
  1. Введение
  2. Инструменты
  3. Первый шаг
  4. Структура языка
  5. Массивы
  6. Глобальные массивы
  7. Cookies
  8. Сессии
  9. Загрузка файлов
  10. Работа с файлами
  11. Работа с базами данных
  12. Работа в сети
  13. Отправка почты
  14. Безопасность
  15. Автоматизация
  16. Регулярные выражения в PHP
  17. Интеграция
 



Массивы

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

Массивы очень широко применяются в PHP-скриптах.


Массив - это набор элементов, к каждому из которых можно обратиться по индексу или имени. Все массивы в PHP являются ассоциативными, т.е. остоят из пар "ключ"="значение".

<?php

	$arr = array();
	$arr['car'] = 'Чайка';
?>

Массив $arr содержит одну пару значений. Ключом в ней будет значение 'car', а значением - 'Чайка'.

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

<?php

	$arr = array();
	$arr['car'] = 'Чайка';
	$arr['age'] = 100;
	$arr[10] = 'Элемент с ключом 10 ';

?>

Иногда нет необходимости задавать ключи элементов. В этом случае можно воспользоваться тем, что PHP может создавать ключи автоматически при добавлении элементов в массив. Ключи всегда будут числовыми и начинаться с нуля. Например:

<?php
	// эти два объявления массива эквивалентны
	
	$arr = array('первый', 'второй', 'третий');

	// и

	$arr = array(0=>'первый', 1=>'второй', 2=>'третий');
	

?>

Сочетание "=>" используется для отделения ключа от значения в элементе при объявлении массива.

Обращение к отдельному элементу массива производится по его индексу или ключу:

<?php
	$arr = array('первый', 'второй', 'третий');
	$first = $arr[0];
?>

А с помощью конструкции foreach можно быстро перебрать все элементы массива:

<?php
	$arr = array('первый', 'второй', 'третий');
    foreach($arr as $key=>$value)
    	echo "Элемент массива номер $key равен '$value'";
?>

Для работы с архивами в PHP предусмотрен ряд функций, позволяющих выполнить набор стандартных операций, таких как сортировка, поиск или разворот массива. Рассмотрим наиболее используемые функции.

array_chunk() Служит для разделения массива на части заданного размера. Функция возвращает массив из фрагментов исходного массива.
<?php
	$arr = array('а', 'б', 'в', 'г', 'д');
	$arr_chunked = array_chunk($arr, 3);
    //  $arr_chunked[0] 
    		содержит 'а', 'б', 'в'
    //  $arr_chunked[1] 
    		содержит 'г', 'д'
?>
array_combine() Функция объединяет два массива так, что элементы первого становятся ключами, а элементы второрого - значениями результирующего ассоциативного массива.
<?php
	$keys = array(0, 1, 2);
	$vals = array('а', 'б', 'в');
	$res = array_combine($keys, $vals);
    //  $res содержит 
    		0=>'а', 1=>'б', 2=>'в'
?>
array_count_values() Подсчитывает количество уникальных значений в массиве и частоту их появления
<?php
	$arr = array('а', 'б', 'в', 
    			'а', 'в', 'а');
	$res = array_count_values($arr);
    // $res содержит 
    	'а' => 3, 'б' => 1, 'в' => 2
    
?>
array_diff() Функция выделяет разницу двух массивов, т.е. элементы, которые есть в первом массиве и нет во втором.
<?php
	$arr1 = array('а', 'а', 'в');
	$arr2 = array('а', 'б', 'в');
	$res = array_diff($arr1, $arr2);
    //  $res содержит  'б'
?>
array_fill() Заполняет массив заданным значением
<?php
	$arr = array();
	$res = array_fill(2, 3, 'xxx');
    //  $res содержит  
    		2=>'xxx'
        	3=>'xxx'
        	4=>'xxx'
?>
array_flip() Меняет местами ключи и значения ассоциативного массива
<?php
	$arr = array(0=>'а', 1=>'б', 2=>'в');
	$res = array_flip($arr);
    //  $res содержит  
    		'а'=>0, 'б'=>1, 'в'=>2
?>
array_intersect() Функция вычисляет пересечение двух массивов, т.е. выдаёт все элементы, которые есть одновременно в обоих массивах.
<?php
	$arr1 = array('а', 'а', 'в');
	$arr2 = array('а', 'б', 'в');
	$res = array_diff($arr1, $arr2);
    //  $res содержит  'а', 'в'
?>
array_key_exists() Функция проверяет, имеется ли в массиве ключ с таким именем.
<?php
	$arr = array(0=>'а', 1=>'б', 2=>'в');
	if(array_key_exists(1, $arr)
    	echo 'Ключ найден';
    else echo 'Ключ не найден';    
?>
array_keys() Возвращает массив ключей
<?php
	$arr = array(0=>'а', 1=>'б', 2=>'в');
	$res = array_keys($arr);
    // $res содержит 0, 1, 2
    	
?>
array_merge() Объединяет один или более массивов. Значения элементов с одинаковыми ключами заменяется элементами второго массива
<?php
	$arr1 = array(0=>'а', 1=>'а', 2=>'в');
	$arr2 = array(3=>'а', 0=>'б', 4=>'в');
	$res = array_merge($arr1, $arr2);
    //  $res содержит  
    		0=>'б', 1=>'а', 2=>'в',
            3=>'а', 4=>'в'
?>
array_rand() Возвращает один случайный элемент из массива
<?php
	$arr = array('а', 'б', 'в');
	$res = array_rand($arr, 1);
    //  $res[0] содержит один
    		случайный элемент из $arr
?>
array_reverse() Возвращает исходный массив, но в обратном поряде, т.е. прочитанный от конца к началу.
<?php
	$arr = array('а', 'б', 'в');
	$res = array_reverse($arr);
    //  $res содержит  'в', 'б', 'а'
?>
array_search() Функция производит поиск элемента массива, соответствующего заданным условиям. Возвращает имя соответствующего ключа.
<?php
	$arr = array(11=>'а', 22=>'б', 33=>'в');
    $key = array_search('б', $arr);
    //  $key равен 22
?>
array_shift() Сдвигает все элементы массива к началу, при этом первый элемент массива теряется.
<?php
	$arr = array('а', 'б', 'в');
    $res = array_shift($arr);
    //  $res содержит 'б', 'в'
?>
array_slice() Извлекает фрагмент массива
<?php
	$arr = array('а', 'б', 'в');
    $res = array_slice($arr, 1, 2);
    //  $res содержит 'б', 'в'
?>
array_sum() Функция возвращает сумму всех значений массива
<?php
	$arr = array(100, 200, 300);
    $sum = array_sum($arr);
    //  $sum равно 600
?>
array_unique() Удаляет повторяющиеся значения из массива
<?php
	$arr = array(100, 200, 200, 300);
    $res = array_unique($arr);
    //  $res содержит
    		100, 200, 300
?>
array_unshift() Функция обратная array_shift(), сдвигает все элементы к концу массива и добавляет элемент в начало.
<?php
	$arr = array('б', 'в');
    $res = array_unshift($arr, 'x', 'y');
    //  $res содержит 'x', 'y', 'б', 'в'
?>
array_values() Возвращает массив значений исходного массива
<?php
	$arr = array('x'=>'а', 
    		'y'=>'б', 'z'=>'в');
    $res = array_values($arr);
    //  $res содержит 'а', 'б', 'в'
?>
array() Функция создаёт пустой или предустановленный массив.
<?php
	$arr_empty = array();
	$arr_preset = array('x'=>'а', 
    		'y'=>'б', 'z'=>'в');

?>
count() Подсчитывает количество элементов в массиве
<?php
	
	$arr = array('а', 'б', 'в');
    echo count($arr);
    // выведет 3

?>
in_array() Проверяет, существует ли в массиве указанное значение
<?php
	
	$arr = array('а', 'б', 'в');
    if(in_array('a', $arr))
    	echo 'Значение есть в массиве';
    else echo 'Значения в массиве нет';

?>
list() Оператор позволяет присвоить массив списку переменных.
<?php
	
	$arr = array('Иван', 'Петрович', 'Семёнов');
    
    list($name, $otch, $fam) = $arr;
    
    echo 'Имя: ' . $name;
    echo 'Отчество: ' . $otch;
    echo 'Фамилия: ' . $fam;

?>
sort() Функция сортировки массива
<?php
	
	$arr = array('Семён', 'Петрович', 'Иванов');
    
    sort($arr);
    // $arr содержит 
    	'Иванов',
        'Петрович', 
        'Семён', 
?>

Как видите пользоваться массивами очень просто, а главное - чрезвычайно удобно. Ни один большой проект не обходится без применения массивов. Мы расмотрели только часть доступных функций, не вдаваясь в тонкости их применения для различных ситуаций. Более подробную информацию вы сможете почерпнуть из официального руководства на сайте www.php.net.

top




 




Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.
Если понравился этот сайт..

© 2005-2012
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com