Общие сведения о применении массивов в рнр

      Комментарии к записи Общие сведения о применении массивов в рнр отключены

Как и в других языках программирования, массивы в РНР используются для группировки данных под общим именем. Однако понятие массива используется в несколько ином смысле.

Считается, что каждый элемент массива имеет две характеристики:

а) значение — это хранимая элементом информация,

б) ключ — служебная информация, которая уникально идентифицирует значение элемента.

Ключи могут быть целыми числами или строками. Массивы с целочисленными ключами называются скалярными массивами.

Массивы, у которых в роли ключей используются (литералы) символьные строки, называются ассоциативными.

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

Каждый элемент массива — это переменная, а в РНР переменные не типизированы. Поэтому массивы РНР могут одновременно хранить числа, строки или даже другие массивы, т.е. значения разных типов.

Имена массивов, как и переменных, должны начинаться со знака доллара ($).

Библиотека РНР имеет две функции для получения использованных в массиве ключей и занесенных в него значений: и

array_keys(имя_массива)и array_values(имя_массива).

Обе функции возвращают информацию в виде проиндексированных числами массивов.

Количество элементов в массиве можно вычислить с помощью функции

count(имя_массива)

или аналогичной ей sizeof().

Операторы для вывода информации о структуре и

Значениях объектов данных

В РНР имеются функции, позволяющих выводить информацию о переменных и других элементах данных, включая структурированные, такие как массивы и объекты. Эта информация бывает очень полезна при отладке программы.

а) Функция print_r.

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

Для массивов выводятся значения индексов и значения элементов.

Для объектов выводятся имена и значения всех свойств.

Строка в конце вывода не переводится.

б) Функцияvar_dump.

Выдает структурированную информацию о переменной (выражении), включающую ее тип и значение.

Если элементы массива имеют сложное устройство, то функция обрабатывает их рекурсивно.

Для объектов распечатываются только открытые (общедоступные) свойства.

Строка в конце вывода не переводится.

Управлением внутренним указателем

Для управления внутренним указателем массива предназначены следующие функции:

reset — установка указателя в начальную позицию,

end — установка указателя в последнюю позицию,

prev — установка указателя в предыдущую позицию,

next — установка указателя в следующую позицию,

current — получить номер текущей позиции.

Примеры

$arr = array(‘первый’, ‘второй’, ‘третий’, ‘четвертый’);

$elem = current($arr);

echo $elem; //’первый’

next($arr);

$elem = next($arr);

echo $elem; //’третий’

$elem = current($arr);

echo $elem; //’третий’

$elem = each($arr);

print_r($elem); //Array([1]=третий [value]=третий [0]=2 [key]=2)

$elem = current($arr);

echo $elem; //после вызова итератора — ‘четвертый’

$elem = prev($arr);

echo $elem; // ‘третий’

$elem = end($arr);

echo $elem; // ‘четвертый’

$elem = reset($arr);

echo $elem; // ‘первый’

Вопросы для самоконтроля

1. Какие существуют варианты создания массивов с помощью конструктора?

2. В чем состоит назначение оператора foreach? Чем различаются варианты синтаксиса оператора foreach?

3. Можно ли создавать ассоциативные массивы, не используя конструктор?

4. Можно ли создавать массивы с числовыми индексами, не используя конструктор?

5. Какими способами создаются многомерные массивы?

6. Для чего нужен внутренний указатель массива и как им можно управлять?

7. Для чего используется итератор each и в чем особенность возвращаемого им значения?

8. Влияет ли вызов итератора each на положение внутреннего указателя массива?

9. Для чего предназначена конструкция list и каковы особенности её выполнения? Использует ли list в своей работе внутренний указатель массива?

10. Какие библиотечные функции позволяют получить ключи и значения элементов массива?

11. Какие операторы можно применять для вывода информации о структуре объектов данных?

Статьи к прочтению:

Изучение PHP для начинающих | Урок #23 — Функции для работы с массивами


Похожие статьи:

  • Общие сведения о блочных шифрах

    Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации…

  • Общие сведения о программе library executive

    При проектировании печатных плат необходимы сведения о схемных образах ЭРЭ и посадочных местах для них. Программы размещения и трассировки должны иметь…