Библиотека задач по PHP | тесты, код, задания
الذهاب إلى القناة على Telegram
Задачи и тесты по PHP для тренировки и обучения. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/JE-DRA Для обратной связи: @proglibrary_feeedback_bot
إظهار المزيد2 285
المشتركون
-224 ساعات
-117 أيام
-3030 أيام
جارٍ تحميل البيانات
القنوات المماثلة
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
أكتوبر '26أكتوبر '26
أكتوبر '26
+12
في 2 قنوات
سبتمبر '26
+20
في 0 قنوات
Get PRO
أغسطس '26
+5
في 1 قنوات
Get PRO
يوليو '26
+15
في 3 قنوات
Get PRO
يونيو '26
+19
في 2 قنوات
Get PRO
مايو '26
+12
في 1 قنوات
Get PRO
أبريل '26
+17
في 1 قنوات
Get PRO
مارس '26
+24
في 1 قنوات
Get PRO
فبراير '26
+30
في 2 قنوات
Get PRO
يناير '26
+55
في 2 قنوات
Get PRO
ديسمبر '25
+25
في 1 قنوات
Get PRO
نوفمبر '25
+18
في 1 قنوات
Get PRO
أكتوبر '25
+29
في 1 قنوات
Get PRO
سبتمبر '25
+21
في 1 قنوات
Get PRO
أغسطس '25
+25
في 3 قنوات
Get PRO
يوليو '25
+25
في 1 قنوات
Get PRO
يونيو '25
+35
في 1 قنوات
Get PRO
مايو '25
+28
في 1 قنوات
Get PRO
أبريل '25
+46
في 1 قنوات
Get PRO
مارس '25
+119
في 52 قنوات
Get PRO
فبراير '25
+50
في 31 قنوات
Get PRO
يناير '25
+74
في 35 قنوات
Get PRO
ديسمبر '24
+54
في 35 قنوات
Get PRO
نوفمبر '24
+170
في 37 قنوات
Get PRO
أكتوبر '24
+123
في 35 قنوات
Get PRO
سبتمبر '24
+103
في 35 قنوات
Get PRO
أغسطس '24
+125
في 35 قنوات
Get PRO
يوليو '24
+124
في 35 قنوات
Get PRO
يونيو '24
+217
في 31 قنوات
Get PRO
مايو '24
+128
في 35 قنوات
Get PRO
أبريل '24
+1 033
في 36 قنوات
Get PRO
مارس '24
+304
في 30 قنوات
Get PRO
فبراير '24
+208
في 32 قنوات
Get PRO
يناير '24
+178
في 25 قنوات
Get PRO
ديسمبر '23
+112
في 25 قنوات
Get PRO
نوفمبر '23
+1 065
في 4 قنوات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 26 أكتوبر | 0 | |||
| 25 أكتوبر | 0 | |||
| 24 أكتوبر | 0 | |||
| 23 أكتوبر | 0 | |||
| 22 أكتوبر | 0 | |||
| 21 أكتوبر | 0 | |||
| 20 أكتوبر | +1 | |||
| 19 أكتوبر | 0 | |||
| 18 أكتوبر | 0 | |||
| 17 أكتوبر | 0 | |||
| 16 أكتوبر | 0 | |||
| 15 أكتوبر | 0 | |||
| 14 أكتوبر | 0 | |||
| 13 أكتوبر | 0 | |||
| 12 أكتوبر | +8 | |||
| 11 أكتوبر | +1 | |||
| 10 أكتوبر | 0 | |||
| 09 أكتوبر | +1 | |||
| 08 أكتوبر | 0 | |||
| 07 أكتوبر | +1 | |||
| 06 أكتوبر | 0 | |||
| 05 أكتوبر | 0 | |||
| 04 أكتوبر | 0 | |||
| 03 أكتوبر | 0 | |||
| 02 أكتوبر | 0 | |||
| 01 أكتوبر | 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| 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 |
