PC FAQ





Главная Delphi PHP Контакты

Последние статьи
Популярное
  • Обзор Палитры Компонент
    В данной статье дается обзор стандартных и дополнительных компонент из Палитры Компонент Delphi (ст
  • Основы работы с базами данных
    В этом уроке описываются основы работы с базами данных. Напомним, что под базой данных понимается н
  • DDE Delphi
    В данной статье приводятся основные факты о DDEML и показывается, как можно использовать DDE в п
  • Логические величины (истина/ложь)
    Логический тип данных принимает всего два значения: истинное (true) и ложное (false). Логические в
  • Переменные
    В примерах, приведенных выше, я попутно показал, как происходит присваивание и изменение значений
  • Объект TOLEContainer
    Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation
  • Строковые значения
    Строкой (string) называется последовательность символов, которая рассматривается как единое целое,
  • Массивы
    Массив представляет собой список однотипных элементов. Существует два типа массивов, различающи
  • Печать текстовая и графическая
    Если Вам нужно напечатать на принтере документ в текстовом режиме, то это делается следующим образо
  • Управление проектом
    Проект Delphi Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них отн
Массивы

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

Одномерные индексируемые массивы

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

Обобщенный синтаксис элементов одномерного массива:

$имя[индекс1];

Одномерные массивы создаются следующим образом:

$meat[0] = "chicken";

$meat[l] = "steak";

$meat[2] = "turkey";

При выполнении следующей команды:

print $meat[1]:

в браузере выводится строка

steak

При создании массивов также можно воспользоваться функцией array (). Массив $meat из предыдущего примера создается командой

$meat = аrrау("chicken", "steak", "turkey");

Приведенная выше команда pri nt приводит к тому же результату — выводу строки steak.

Чтобы включить новый элемент в конец массива, можно просто присвоить значение переменной массива без указания индекса. Следовательно, массив $meat можно создать еще одним способом:

Smeat[] = "chicken";

$meat[] = "steak";

Smeat[] = "turkey";

Одномерные ассоциативные массивы

Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.

Предположим, вы хотите сохранить в массиве лучшие сочетания вин и блюд. Проще всего было бы хранить в массиве пары «ключ/значение» — например, присвоить сорт вина названию блюда. Самым разумным решением будет использование ассоциативного массива:

Spairings["zinfandel"] = "Broiled Veal Chops";

$pairings["merlot"] = "Baked Ham";

$pairings["sauvignon"] = "Prime Rib";

$pairings["sauternes"] = "Roasted Salmon";

Ассоциативный массив заметно экономит время и объем программного кода, необходимого для вывода определенных элементов массива. Допустим, вы хотите узнать, с каким блюдом лучше всего идет «Мерло». Нужная информация выводится простой ссылкой на элемент массива $pairings: print $pairings["merlot"]; // Выводится строка "Baked Ham" Ассоциативные массивы также можно создавать функцией РНР аггау():

Spairings = аrrау(

zinfandel => "Broiled Veal Chops",

merlot => "Baked Ham",

sauvignon => "Prime Rib",

sauternes => "Roasted Salmon");

Отличается только способ создания массива pairings, а функциональные возможности остаются без изменений.

Многомерные индексируемые массивы

Многомерные индексируемые массивы работают практически так же, как и их одномерные прототипы, однако элементы в них определяются несколькими индексами вместо одного. Теоретически размерность индексируемого массива не ограничивается, хотя в большинстве приложений практически не встречаются массивы с размерностью выше 3.

Обобщенный синтаксис элементов многомерного массива:

$имя[индекс1][индекс2]..[индексN];

Пример ссылки на элемент двухмерного индексируемого массива:

$position = $chess_board[5][4];

Многомерные ассоциативные массивы

Многомерные ассоциативные массивы также существуют в РНР (и приносят определенную пользу). Допустим, в массиве $раirings из предыдущего примера должна храниться информация не только о сорте, но и о производителе вина. Это можно сделать следующим образом:

$pairings["Martinelli"]["zinfandel"] = "Broiled Veal Chops";

$pairings["Beringer"]["merlot"] = "Baked Ham";

$pairings["Jarvis"]["sauvignon"] = "Prime Rib";

$pairings["Climens"]["sauternes"] = "Roasted Salmon";

Смешанное индексирование

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

$Buckeyes["quarterback"] [1] = "Bellisari";

$Buckeyes["quarterback"] [2] = "Moherman":

$Buckeyes["quarterback"] [3] = "Wiley";

В РНР существует множество функций для создания массивов и операций с ними — эта тема настолько обширна, что заслуживает отдельной главы.



<< Начало  < Назад  [ 10 / 10 ]



ГлавнаяОбратная связьDelphiPHP