Библиотека задач по PHP | тесты, код, задания
Open in Telegram
Задачи и тесты по PHP для тренировки и обучения. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/JE-DRA Для обратной связи: @proglibrary_feeedback_bot
Show more2 285
Subscribers
-224 hours
-117 days
-3030 days
Loading data
Similar Channels
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
October '26Oct '26
October '26
+12
in 2 channels
September '26
+20
in 0 channels
Get PRO
August '26
+5
in 1 channels
Get PRO
July '26
+15
in 3 channels
Get PRO
June '26
+19
in 2 channels
Get PRO
May '26
+12
in 1 channels
Get PRO
April '26
+17
in 1 channels
Get PRO
March '26
+24
in 1 channels
Get PRO
February '26
+30
in 2 channels
Get PRO
January '26
+55
in 2 channels
Get PRO
December '25
+25
in 1 channels
Get PRO
November '25
+18
in 1 channels
Get PRO
October '25
+29
in 1 channels
Get PRO
September '25
+21
in 1 channels
Get PRO
August '25
+25
in 3 channels
Get PRO
July '25
+25
in 1 channels
Get PRO
June '25
+35
in 1 channels
Get PRO
May '25
+28
in 1 channels
Get PRO
April '25
+46
in 1 channels
Get PRO
March '25
+119
in 52 channels
Get PRO
February '25
+50
in 31 channels
Get PRO
January '25
+74
in 35 channels
Get PRO
December '24
+54
in 35 channels
Get PRO
November '24
+170
in 37 channels
Get PRO
October '24
+123
in 35 channels
Get PRO
September '24
+103
in 35 channels
Get PRO
August '24
+125
in 35 channels
Get PRO
July '24
+124
in 35 channels
Get PRO
June '24
+217
in 31 channels
Get PRO
May '24
+128
in 35 channels
Get PRO
April '24
+1 033
in 36 channels
Get PRO
March '24
+304
in 30 channels
Get PRO
February '24
+208
in 32 channels
Get PRO
January '24
+178
in 25 channels
Get PRO
December '23
+112
in 25 channels
Get PRO
November '23
+1 065
in 4 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 26 October | 0 | |||
| 25 October | 0 | |||
| 24 October | 0 | |||
| 23 October | 0 | |||
| 22 October | 0 | |||
| 21 October | 0 | |||
| 20 October | +1 | |||
| 19 October | 0 | |||
| 18 October | 0 | |||
| 17 October | 0 | |||
| 16 October | 0 | |||
| 15 October | 0 | |||
| 14 October | 0 | |||
| 13 October | 0 | |||
| 12 October | +8 | |||
| 11 October | +1 | |||
| 10 October | 0 | |||
| 09 October | +1 | |||
| 08 October | 0 | |||
| 07 October | +1 | |||
| 06 October | 0 | |||
| 05 October | 0 | |||
| 04 October | 0 | |||
| 03 October | 0 | |||
| 02 October | 0 | |||
| 01 October | 0 |
Channel Posts
❓ Какую ветку 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| 2 | 📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.
В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.
Например, можно совместить два направления по работе с ИИ:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.
А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.
Акция действует до 31 октября включительно ⏳
⏮️ Пора прокачать свой стек | 161 |
| 3 | ❓ Скопирует ли 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 | 185 |
| 4 | ❓ Какое значение запомнит стрелочная функция после изменения переменной?
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 | 209 |
| 5 | ❓ Почему 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 | 231 |
| 6 | 😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!
До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.
Например, можно совместить:
💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.
💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.
Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥
Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.
Акция действует до 31 октября включительно ⏳
⏬ Собрать свой учебный билд | 247 |
| 7 | ❓ Чем сложение массивов через + отличается от 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 | 274 |
| 8 | PHP 8.4. В WeakMap есть один ключ-объект со значением 123. После unset последней обычной ссылки на объект что вернёт count($map)? | 390 |
| 9 | 👀 Как вы смотрите видео?
Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране?
Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить.
🕰️ Опрос займёт около 3 минут.
В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео.
🔗 Поделиться опытом
🐸 Библиотека программиста | 272 |
| 10 | PHP 8.4. Чему равно выражение array_is_list([0 => 'a', 2 => 'b'])? | 455 |
| 11 | Что будет результатом кода?
👍 — world hello
👾— FiberError
🥰— hellohello world
❤️— hello world | 264 |
| 12 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 265 |
| 13 | 👅 Самое сложное — выбрать не курс, а направление
Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science.
🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз.
В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков.
Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎
🔗 Узнать подробнее
🏃♀️ Proglib Academy | 133 |
| 14 | Один доступ вместо вечного выбора между «нужно для работы» и «давно хотелось изучить» 👇 | 266 |
| 15 | После POST UI должен видеть своё изменение, но проекции обновляются асинхронно. Что корректнее? | 322 |
| 16 | 🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ Proglib Academy | 373 |
| 17 | Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇 | 368 |
| 18 | Почему в доменной логике предпочтительнее DateTimeImmutable, а не DateTime? | 398 |
| 19 | У вас в проекте есть файл вроде utils_v2_final_FIX.py, который все боятся трогать ❓
Что делаете с таким легаси?
❤️ Не трогаю: работает — и ладно
👍 Переписываю с нуля и надеюсь на лучшее
🔥 Сначала покрываю тестами, потом рефакторю по частям
👾 У нас такого нет — честно-честно
На курсе «ИИ для разработчиков» разберём третий подход: как с помощью агента зафиксировать текущее поведение легаси-кода тестами, а затем менять его небольшими безопасными шагами — без одного огромного PR на тысячу файлов.
До 31 июля действует скидка и бессрочный доступ к материалам.
🔗 Занять место со скидкой
🏃♀️ Proglib Academy | 245 |
| 20 | Когда название файла уже само по себе считается техническим долгом 👇 | 330 |
