Массив 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";
?>
Рекомендуем протестировать приведенные примеры, изменяя различные их части.
Контрольные вопросы и задания
- В приведенный пример добавьте нахождение элемента с минимальным значением.
- В приведенный пример добавьте нахождение элемента с максимальным значением.
- В приведенный пример добавьте нахождение среднего арифметического значения элементов массива.
- Подробности
- Автор: Рахматджон Хакимов
- Родительская категория: Программирование
- Категория: Уроки PHP