Любой, кто изучал программирование в университете, знает, что преподаватели стремятся дать только основной, базисный материал для своих студентов. Тема массивов также рассматривается, но на более поздних курсах. Почему? Потому что массивы - это основа, позволяющая программисту работать с большими объёмами информации.
Введение
Сегодняшнюю тему мы начнем с того, что введём определение данному термину. Массивы - это элементы среды программирования, представляющие собой набор данных в форме таблицы или строки. Представьте себе ряд случайных чисел: 1, 6, 2, 4, 8. Это и будет массивом. Каждая цифра, написанная в строке, имеет свой порядковый номер, и именно это позволяет соотнести (занести) их с массивом в программировании.
Запись
Рассмотрим, как записываются массивы на практике. Записать, обозначить массивы - это означает указать для создаваемой программы их тип (какие значения будут храниться в массиве) и количество ячеек. Иногда программисты создают безмерные массивы, без указания точного количества элементов, но тогда при обращении к ним надо быть очень внимательными, чтобы программа не зациклилась и не начала обращаться к пустым ячейкам.
- D: array[1..k] of real; - так записывается массив в "Паскале". Если вы при создании программы знаете, что у вас будет максимум 5 элементов, то можете воспользоваться записью D: array[1..5] of real;
Как вы могли догадаться D - это буква, означающая имя массива; real - это тип (формат) данных, которые могут содержаться в массиве; array[] - это количество элементов массива.
Обращение
Для того чтобы работать с элементом массива, к нему надо обратиться из программы. Массивы - это такие же числа или слова, как и любые другие. Для того чтобы работать с элементом массива, надо ввести: D[1]. Это позволит выбрать первый элемент массива и проводить с ним операции. Например:
- print (D[1]); - данная команда позволит вывести на экран пользователя значение, содержащееся в 1-ой ячейке массива.
Стоит отметить, что если вы собираетесь проводить математические операции с массивами, то вам следует обратить внимание на тип. Вы сможете это проделать, только если у вас имеется массив чисел. Чтобы было понятнее:
- Если у вас имеется массив D: array[1..k] of text; - и в ячейке D[1]=1, то вы не сможете использовать данный элемент в математических операциях, потому что для программы "1" - это будет просто слово "один", а не цифра. Поэтому следите за переменными и их типами.
Если вы планируете математические операции, или в массиве просто должны будут храниться числа, лучше обеспокойтесь его типом заранее и присвойте "real" или "integer".
Таблица
Давайте теперь поговорим про окружающее нас пространство. Мы живем в трехмерном мире, и большинство объектов может быть описано 3-мя параметрами: длина, ширина, высота. Так и у массивов существует размерность. Двумерные массивы - это таблицы с данными, в которых каждому элементу присуждается не один порядковый номер, а два - номер строки и номер столбца. При обращении к двумерному массиву нужно указывать оба числа - D[1;1].
Соответственно, такой массив будет в состоянии хранить больший объём данных. К сожалению, в старых языках программирования в большинстве случаев номером элемента массива могут выступать исключительно цифры. Поэтому хранение данных из больших таблиц становится весьма проблематичным из-за того, что каждому столбцу таблицы придется создавать отдельный массив.
Например, пусть у нас есть таблица, в которой записаны данные учеников. У них указаны: год рождения, фамилия, класс.
1989 | Иванов | Иван | 9 |
1988 | Петров | Петр | 10 |
.... |
В обычных условиях нам придется создавать несколько массивов, в зависимости от потребностей. Мы можем создать один двумерный массив числового типа, чтобы хранить год рождения и класс, и второй массив для хранения текстовой информации (Ф.И.). Но это неудобно. Во-первых, фамилию и имя, возможно, придется обрабатывать по отдельности. Во-вторых, можно запросто запутаться при заполнении массива с годом и классом. Поэтому проще будет создать 4 отдельных массива для каждого столбца. Согласитесь, очень громоздко?
PHP
PHP массивы позволяют решить проблему, о которой упоминалось выше. Дело в том, что в данном языке программирования вы можете задать не только тип данных в массиве, но и тип счетчика (индекса). Кроме того, в одном массиве могут содержаться данные самых различных типов. Создание одномерного массива (если необходимо взять один столбец):
- $array = array(1989, 1988, ...);
Это пример создания простейшего массива. Индекс создаётся автоматически и считается от нуля. То есть нулевой элемент массива - 1989, первый - 1988 и т.д. Но что если нам необходимо поместить всю таблицу в многомерный массив? Что представляют собой многомерные PHP массивы? Это конструкции, в которых каждый элемент также является массивом. Как разобрать данный нам пример?
$table = array(
array(1989, "Иванов", "Иван", 9),
array(1988, "Петров", "Петр", 10),
...
);
Что мы имеем в итоге? Перед нами массив с именем $table, у которого строки соотвествуют строкам в представленной таблице. Если коворить об элементах массива, то выглядеть они будут так:
- $table[0;0] = 1989, $table[0;1] = "Иванов", $table[0;2] = "Иван", $table[0;3] = 9.
- $table[1;0] = 1988, $table[1;1] = "Петров", $table[1;2] = "Петр", $table[1;3] = 10.
При этом 0 и 3 столбцы массива будут числовыми, а 1 и 2 - текстовыми. При необходимости вы всегда сможете конвертировать необходимые данные в нужный формат и объединить ячейки.