Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык PHP.docx
Скачиваний:
8
Добавлен:
14.08.2019
Размер:
77 Кб
Скачать
☆

Массивы с числовыми индексами

$my_array = array('red', 'green', 'blue');

Этот код создает массив с числовым индексом с именем $my_array. Массиву присваивается три элемента — red, green, и blue. Каждый элемент идентифицируется числовым индексом.

$my_array[0] = 'red' // индекс 0 соответствует элементу red

$my_array[1] = 'green' // индекс 1 соответствует элементу green

$my_array[2] = 'blue' // индекс 2 соответствует элементу blue

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

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

<p>

<?php

$my_array = array('red', 'green', 'blue');

echo "Первое значение массива — " . $my_array[0];"<br/>"

echo "Второе значение массива — " . $my_array[1];"<br/>"

echo "Третье значение массива — " . $my_array[2];"<br/>"

?>

</p>

</body>

</html>

Первое значение массива — red

Второе значение массива — green

Третье значение массива — blue

Ассоциативные массивы

Ассоциативные массивы позволяют использовать более полезные значения индекса. Для массивов с числовыми индексами значения индекса создаются автоматически, начиная с 0. Ассоциативные массивы допускают применение числовых и строковых значений индекса. Символ между индексом и значениями ( => ) является знаком равенства, за которым сразу следует символ больше.

$members = array('FName' => 'John', 'LName' => 'Smith', 'Age' => 50)

В этом примере члены массива содержат три элемента, однако используются строковые индексы — FName, LName и Age.

$members['FName'] = 'John' //индекс FName соответствует элементу John

$members['LName'] = 'Smith' // индекс LName соответствует элементу Smith

$members['Age'] = '50' // индекс Age соответствует элементу 50

Для доступа к содержимому массива используется имя массива и индекс. Следующий код применяется для вывода значений переменной $members.

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

<p>

<?php

$members = array('FName' => 'John', 'LName' => 'Smith', 'Age' => 50);

echo "The user\'s first name is " . $members['FName'];

echo "The user\'s last name is " . $members['LName'];

echo "The user\'s age is " . $members['Age'];

?>

</p>

</body>

</html>

The user's first name is John

The user's last name is Smith

The user's age is 50

Функции для работы с массивами

Кроме функции array() система PHP включает множество других функций для работы с массивами. Следующий раздел описывает некоторые из наиболее часто используемых функций. Более обширный список доступен на Web-сайте PHP.

count() – функция count используется для подсчета числа элементов в массиве.

sort() – функция sort используется для сортировки элементов существующего массива.

shuffle() – функция shuffle используется для случайного перемешивания элементов в заданном массиве.

sizeof() – функция sizeof является синонимом (алиасом) функции count().

array_slice($array_name,offset, length) – функция array_slice используется для извлечения части существующего массива. $array_name является именем разрезаемого массива, offset указывает позицию, где будет начинаться разрез, length указывает число элементов, которое будет вырезано из массива.

array_merge($array_name, $array_name) – функция array_merge используется для объединения или слияния двух или большего количества существующих массивов. Имена массивов разделяются запятыми.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Страница Web </title>

</head>

<body>

<p>

<?php

//Созданы два массива

$numbers = array(50,20,18,30,10,7);

$colors = array('red', 'blue', 'green');

// определяем размер массива $numbers — 6

$array_size = sizeof($numbers);

// сортируем элементы массива $numbers – возвращает array(7,10,18,20,30,50)

sort($numbers);

// случайным образом перемешиваем элементы массива $numbers

shuffle($numbers);

// $merged_array возвращает array(7,10,18,20,30,50,'red','blue','green')

$merged_array = array_merge($numbers,$colors);

// вырезаем номера 18 и 20 из сортированного массива $numbers

// $slice содержит array(18,20)

$slice = array_slice($numbers, 2, 2);

?>

</p>

</body>

</html>

Пример 3.1. (html, txt)

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

$_GET[]

$_POST[]

$_REQUEST[]

$_COOKIE[]

$_FILES[]

$_SERVER[]

$_ENV[]

$_SESSION[]

Суперглобальные переменные PHP будут описаны в дальнейшем. Массивы имеют много применений в PHP и программировании в целом. Этот раздел представил некоторые базовые вопросы массивов PHP и описал некоторые базовые функции: это понадобится при рассмотрении более развитых свойств массивов в следующих разделах.