Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Библиотека задач по PHP | тесты, код, задания»

Библиотека задач по PHP | тесты, код, задания
1.6K
708
725
68
2.0K
Задачи и тесты по PHP для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/47bd42b4

Для обратной связи: @proglibrary_feeedback_bot
Подписчики
Всего
2 287
Сегодня
0
Просмотров на пост
Всего
205
ER
Общий
8.95%
Суточный
7.74%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 1 638 постов
Смотреть все посты
Пост от 26.10.2026 15:02
61
0
0
❓ Какую ветку match выберет для строки с числом?

PHP 8.4. Что выведет код?

<?php
$value = '1';

$result = match ($value) {
1 => 'integer',
'1' => 'string',
default => 'other',
};

echo $result;

👾 — integer
👍 — string
🥰 — other
⚡️ — UnhandledMatchError

Ответ: 👍 — string.

match сравнивает значение с вариантами строго, как оператор ===. Строка '1' не равна целому числу 1 при таком сравнении. Совпадает вторая ветка, поэтому результат — string.

Правило в документации PHP

🐸 Библиотека задач по PHP
👍 5
Пост от 25.10.2026 20:01
53
0
0
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.

В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.

Например, можно совместить два направления по работе с ИИ:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.

📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.

А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.

Акция действует до 31 октября включительно ⏳

⏮️ Пора прокачать свой стек
Пост от 25.10.2026 15:04
47
0
0
❓ Скопирует ли clone объект во вложенном свойстве?

PHP 8.4. Что выведет код?

<?php
class Profile {
public string $name = 'Ann';
}

class User {
public Profile $profile;
}

$original = new User();
$original->profile = new Profile();

$copy = clone $original;
$copy->profile->name = 'Bob';

echo $original->profile->name;

👾 — Ann
👍 — Ошибка: вложенный объект нельзя менять
🥰 — Bob
⚡️ — Ошибка: clone запрещён без __clone

Ответ: 🥰 — Bob.

Без дополнительной логики __clone выполняется поверхностное копирование свойств. original и copy — разные объекты User, но их свойства profile указывают на один Profile. Изменение его name видно через оба контейнера. Для независимого Profile его нужно клонировать отдельно.

Правило в документации PHP

🐸 Библиотека задач по PHP
⚡ 1
❤ 1
Пост от 24.10.2026 15:04
88
0
0
❓ Какое значение запомнит стрелочная функция после изменения переменной?

PHP 8.4. Что выведет код?

<?php
$value = 10;

$arrow = fn() => $value;
$reference = function () use (&$value) {
return $value;
};

$value = 20;

echo $arrow(), ' ', $reference();

👾 — 10 20
👍 — 20 20
🥰 — 10 10
⚡️ — Ошибка компиляции

Ответ: 👾 — 10 20.

Стрелочная функция автоматически захватывает внешнюю переменную по значению: для arrow сохраняется число 10. Замыкание с use (&$value) захватывает переменную по ссылке и при вызове видит уже 20. В задаче используется число, а не объект.

Правило в документации PHP

🐸 Библиотека задач по PHP
Пост от 23.10.2026 15:02
43
0
0
❓ Почему isset и array_key_exists по-разному проверяют один ключ?

PHP 8.4. Что выведет код?

<?php
$data = ['token' => null];

var_dump(isset($data['token']));
var_dump(array_key_exists('token', $data));

👾 — true, затем true
👍 — true, затем false
🥰 — false, затем false
⚡️ — false, затем true

Ответ: ⚡️ — false, затем true.

isset возвращает false, если значение равно null. array_key_exists проверяет наличие самого ключа, а не значение под ним. Ключ token существует, хотя в нём хранится null.

Правило в документации PHP

🐸 Библиотека задач по PHP
⚡ 5
Пост от 22.10.2026 20:09
38
0
0
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!

До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.

Например, можно совместить:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.


Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥

Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.

Акция действует до 31 октября включительно ⏳

⏬ Собрать свой учебный билд
Пост от 22.10.2026 15:02
60
0
0
❓ Чем сложение массивов через + отличается от array_merge?

PHP 8.4. Что выведет код?

<?php
$left = ['timeout' => 10];
$right = ['timeout' => 20];

$union = $left + $right;
$merged = array_merge($left, $right);

echo $union['timeout'], ' ', $merged['timeout'];

👾 — 20 20
👍 — 10 20
🥰 — 10 10
⚡️ — Ошибка: массивы нельзя складывать

Ответ: 👍 — 10 20.

Оператор + объединяет массивы по ключам и при совпадении сохраняет значение из левого массива. array_merge для одинаковых строковых ключей берёт значение из более позднего массива. Здесь ключ timeout строковый: правила перенумерации числовых ключей не участвуют.

Правило в документации PHP

🐸 Библиотека задач по PHP
Смотреть все посты