03. Массивы и функции
Что такое массив
Массив — это структура данных, которая хранит несколько значений в одной переменной. Вместо того чтобы создавать десятки переменных, можно объединить всё в один список.Представь, что массив — это коробка с ячейками, где в каждой хранится значение. Достать элемент можно по его номеру.
Пример обычного массива
<?php
$fruits = ['яблоко', 'банан', 'груша'];
echo $fruits[0]; // выведет 'яблоко'
?>
Перебор массива
Чтобы пройтись по всем элементам массива, используют цикл foreach.
<?php
$fruits = ['яблоко', 'банан', 'груша'];
foreach ($fruits as $fruit) {
echo $fruit.'<br>';
}
?>
Добавление и удаление элементов
$numbers = [1, 2, 3];
$numbers[] = 4; // добавление
array_pop($numbers); // удаление последнего элемента
Ассоциативные массивы
Обычный массив использует числа как ключи (0, 1, 2...). Ассоциативный — позволяет использовать текстовые ключи, как в словаре.
<?php
$user = [
'name' => 'Анна',
'age' => 25,
'city' => 'Москва'
];echo $user['name']; // выведет 'Анна'
?>
Перебор ассоциативного массива
foreach ($user as $key => $value) {
echo $key . ': ' . $value . '<br>';
}
Результат:
name: Анна
age: 25
city: Москва
Полезные функции для массивов
- count($arr) — количество элементов
- in_array($val, $arr) — проверяет, есть ли значение
- implode(', ', $arr) — объединяет элементы в строку
- array_keys($arr) — возвращает список ключей
- array_values($arr) — возвращает только значения
$colors = ['красный', 'синий', 'зелёный'];
echo implode(', ', $colors); // красный, синий, зелёный
Вложенные массивы
Массивы могут содержать другие массивы. Это удобно, если нужно хранить таблицы или списки объектов.
$users = [
['name' => 'Иван', 'age' => 30],
['name' => 'Анна', 'age' => 25],
['name' => 'Павел', 'age' => 40]
];foreach ($users as $user) {
echo $user['name'].' — '.$user['age'].' лет<br>';
}
Функции в PHP
Функция — это блок кода, который можно вызывать многократно. Это как мини-программа внутри программы.
function greet($name) {
return 'Привет, '.$name.'!';
}echo greet('Алекс'); // Привет, Алекс!
Аргументы и возвращаемое значение
Функция может принимать аргументы и возвращать результат с помощью return.
function sum($a, $b) {
return $a + $b;
}$result = sum(5, 7);
echo 'Результат: '.$result;
Вывод:
Результат: 12
Функции без аргументов
function hello() {
echo 'Добро пожаловать на сайт!';
}hello();
Передача массива в функцию
function showList($arr) {
foreach ($arr as $item) {
echo '- '.$item.'<br>';
}
}$tasks = ['Учить PHP', 'Повторить HTML', 'Создать проект'];
showList($tasks);
Зачем нужны функции
- Чтобы не дублировать код.
- Чтобы разбивать программу на логические части.
- Чтобы сделать код читаемым и понятным.
Функции — это кирпичики, из которых строится любая программа.
Область видимости переменных
Переменные, объявленные внутри функции, недоступны снаружи. Это называется областью видимости (scope).
$a = 10;function test() {
$a = 5;
echo $a; // 5
}
test();
echo $a; // 10
Если нужно использовать внешнюю переменную, можно указать global:
$a = 10;
function addFive() {
global $a;
$a += 5;
}
addFive();
echo $a; // 15
Типичные ошибки новичков
- Используют переменные до их объявления.
- Путают круглые и квадратные скобки в массивах.
- Забывают return в функциях — и получают пустой результат.
- Переопределяют функцию с тем же именем (ошибка Fatal error).
Практика
- Создай массив с 5 любимыми фильмами и выведи их циклом foreach.
- Создай функцию, которая принимает массив чисел и возвращает их среднее значение.
- Напиши функцию, которая принимает имя и возраст и возвращает строку вроде: «Анна, 25 лет».
Итоги урока
Теперь ты знаешь:- Что такое массивы и как их использовать.
- Чем отличаются обычные и ассоциативные массивы.
- Как писать функции и передавать в них параметры.
- Как избегать типичных ошибок при работе с массивами и функциями.