На 11 уроке мы погрузимся в мир ассоциативных массивов PHP, мощного инструмента для структурирования данных. Если вы уже работали с обычными массивами, то ассоциативные массивы покажутся вам более гибкими и удобными.
Ассоциативный массив это коллекция элементов, где каждый элемент имеет уникальный ключ (чаще строка) и значение. Ключи здесь не случайны: они задаются вами и несут смысловую нагрузку. Например:
$user = [ 'name' => 'Иван', 'age' => 30, 'email' => 'ivan@example.com' ];
Здесь 'name', 'age' и 'email' ключи, а 'Иван', 30 и 'ivan@example.com' их значения.
[]$book = [ 'title' => 'PHP для начинающих', 'author' => 'Максим Габов', 'price' => 1500 ];
array()$car = array( 'brand' => 'Toyota', 'model' => 'Camry', 'year' => 2022 );
Чтобы получить значение, обратитесь по ключу:
echo $user['name']; // Выведет: Иван
Просто присвойте новому ключу значение:
$user['phone'] = '+7 900 123-45-67';
Перезапишите значение по ключу:
$user['age'] = 31; // Теперь возраст 31
Используйте unset():
unset($user['email']); // Удалит элемент с ключом 'email'
array_keys() получить все ключи массива$keys = array_keys($user); print_r($keys); // Выведет: Array ( [0] => name [1] => age [2] => phone )
array_values() получить все значения$values = array_values($user); print_r($values); // Выведет: Array ( [0] => Иван [1] => 31 [2] => +7 900 123-45-67 )
array_merge() объединение массивов$userInfo = [ 'country' => 'Россия', 'city' => 'Москва' ]; $mergedArray = array_merge($user, $userInfo); print_r($mergedArray);
array_key_exists() проверка существования ключаif (array_key_exists('email', $user)) { echo 'Email существует!'; } else { echo 'Email не найден.'; }
in_array() проверка существования значенияif (in_array('Иван', $user)) { echo 'Иван есть в массиве!'; }
foreach итерация по массивуforeach ($user as $key => $value) { echo "$key: $value <br>"; } // Выведет: // name: Иван // age: 31 // phone: +7 900 123-45-67
Создайте массив $student с ключами: name, course, subject. Заполните его данными и выведите через foreach.
Решение:
$student = [ 'name' => 'Анна', 'course' => 2, 'subject' => 'Программирование' ]; foreach ($student as $key => $value) { echo ucfirst($key) . ": $value <br>"; }
Дан массив товаров:
$products = [ 'laptop' => 50000, 'mouse' => 1500, 'keyboard' => 3000, 'monitor' => 12000 ];
Выведите товары, цена которых выше 2000 рублей.
Решение:
foreach ($products as $product => $price) { if ($price > 2000) { echo "$product: $price руб. <br>"; } }
Объедините два массива:
$userData1 = ['name' => 'Максим', 'age' => 28]; $userData2 = ['city' => 'Самара', 'job' => 'Разработчик'];
Выведите результат.
Решение:
$mergedUser = array_merge($userData1, $userData2); print_r($mergedUser);
array_key_exists(), чтобы избежать ошибок.'user_age' лучше, чем 'age1'.array_keys() + foreach для гибкой обработки.echo $user['address']; // Ошибка, если ключа 'address' нет.
array_key_exists() и isset()isset() возвращает false, если значение null, а array_key_exists() нет.Теперь вы умеете работать с ассоциативными массивами. Практикуйтесь и скоро эти структуры станут вашими надежными помощниками.
Хотите продолжить обучение? Перейти к полному курсу по PHP для начинающих