Массив PHP - это способ хранения множества значений под одним именем. Массив состоит из элементов. Элементы массива в PHP могут быть переменными различных типов. Забегая немного вперед, скажем, что структуры (structure) и классы (class) также могут быть элементами массивов.

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

[ ]   [ ]   [ ]   [ ]   [ ]   ...   [ ]

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

В PHP есть зарезервированное слово array для объявления массивов:

$array_name = array(); 

Здест array_name - имя массива, array - конструкция для объявления массивов.

Каждый элемент массива имеет свой порядковый номер, который называют индексом элемента массива. Очевидно, что индекс есть целое число. Нумерация элементов массива в PHP начинается с нуля. 0 - индекс первого элемента массива. 1 - индекс второго элемента массива и т.д. Функция count($array_name) возвращает количество элементов массива. Следовательно, индекс последнего элемента массива будет равен count($array_name)-1, общее количество элементов массива минус 1.

Пример:

Файл array1.php

<?php
$x = array();

for($i=0;$i<10;$i++)
$x[$i]=$i*$i;

for($i=0;$i<count($x);$i++)
echo "$i - $x[$i]<br>";
?>

В этом примере организованы два цикла, используя оператор циклов for. В каждом из этих циклов переменная $i принимает значения от 0 до 9. Массив $x состоит из 10 элементов. Каждый элемент массива есть переменная. Первый элемент - $x[0], второй элемент - $x[1], ..., десятый элемент - $x[9].

Другой пример:

Файл array2.php

<?php
$x = array();

for($i=0;$i<10;$i++)
$x[$i]=rand(1,100);

for($i=0;$i<count($x);$i++)
echo "$i - $x[$i]<br>";
?>

Функция rand(1,100) будет генерировать случайные числа между 1 и 100.

Пример:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Одномерный массив. Примеры</title>
</head>
<body>
<p>Пример 1: x[i] = i</p>
<?php
$n = 10;
for($i=0;$i<$n;$i++)
$x[$i]=$i;
print_array($x);
?>

<p>Пример 2: x[i] = i*2+1</p>
<?php
for($i=0;$i<$n;$i++)
$x[$i]=$i*2+1;
print_array($x);
?>

<p>Пример 3: x[i] = rand(1,10)</p>
<?php
for($i=0;$i<$n;$i++)
$x[$i]=rand(1,10);
print_array($x);
?>

<p>Пример 4: x[i] = rand(20,40), y[i] = x[i]-2</p>
<?php
for($i=0;$i<$n;$i++) {
$x[$i]=rand(20,40);
$y[$i]=$x[$i]-2;
}
print_array($x);
echo "<br>";
print_array($y);
?>
</body>
</html>

<?php
function print_array($arr)
{
$n = count($arr);
echo "<table border='1'>";
echo "<tr>";
echo "<th>Индекс</th>";
for($i=0;$i<$n;$i++)
echo "<td>$i</td>";
echo "</tr>";
echo "<tr>";
echo "<th>Массив</th>";
for($i=0;$i<$n;$i++)
echo "<td>$arr[$i]</td>";
echo "</tr>";
echo "</table>";
}
?>

Пример:

<?php
$n = 6;
$s = 0;
echo "Сумма = $s";
echo "<table border='1'>";
echo "<tr><th>Индекс</th><th>Массив</th><th>Сумма</th><tr>";
for($i=0;$i<$n;$i++) {
$x[$i]=rand(1,5);
$s += $x[$i];
echo "<tr><td>$i</td><td>$x[$i]</td><td>$s</td></tr>";
}
echo "</table>";
echo "Сумма = $s";
?>

Рекомендуем протестировать приведенные примеры, изменяя различные их части.

Контрольные вопросы и задания

  1. В приведенный пример добавьте нахождение элемента с минимальным значением.
  2. В приведенный пример добавьте нахождение элемента с максимальным значением.
  3. В приведенный пример добавьте нахождение среднего арифметического значения элементов массива.