В РНР для работы с JSON используются две основные функции: json_encode() и json_decode() . Функция json_encode() преобразует данные РНР в строку формата JSON, a json_decode() - наоборот, преобразует строку JSON в переменные РНР. Эти функции удобны для обмена данными между сервером и клиентом или с внешними АРІ. Важно также обрабатывать ошибки при декодировании или кодировании JSON, чтобы избежать проблем с некорректным форматом данных.
#полезное 😎Ошибки неизбежны в любом приложении — они всегда будут возникать на вашем пути.
Поэтому все языки программирования предоставляют трассировку стека и сообщение об ошибке, чтобы вы могли отладить код и выяснить коренную причину проблемы.
Но иногда такие сообщения могут непреднамеренно раскрывать конфиденциальные данные вашего приложения.
Именно по этой причине в PHP был введён атрибут SensitiveParameter, чтобы вы могли скрыть такие параметры из трассировки стека и логов ошибок.
Если задан массив целых чисел nums и целое число k, верните количество смежных подмассивов, в которых произведение всех элементов в подмассиве строго меньше k.
Пример:
Input: nums = [10,5,2,6], k = 100 Output: 8
👨💻Алгоритм:
1⃣Инициализируйте переменные для отслеживания текущего произведения и количества допустимых подмассивов. Используйте два указателя для границ подмассива.
2⃣Перемещайте правый указатель по массиву и умножайте текущий элемент на текущее произведение. Если произведение становится больше или равно k, перемещайте левый указатель, уменьшая произведение до тех пор, пока оно снова не станет меньше k.
3⃣Подсчитайте количество подмассивов с текущим правым указателем, добавив к общему количеству допустимых подмассивов разницу между правым и левым указателями.
Основные методы промиса включают: then() - для обработки успешного выполнения, catch() - для обработки ошибок, finally() - для выполнения кода по завершению промиса, независимо от результата. Есть также методы Promise.all(), Promise.race(), Promise.allSettled() И Promise.any() , которые позволяют работать с несколькими промисами одновременно.
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть. Подробности в статье
Cookies в PHP устанавливаются через функцию setcookie(), а сессии - с помощью функции session_start() . Cookies хранят данные на стороне клиента, а сессии - на сервере. Для работы с сессиями используются суперглобальные массивы $_SESSION , а для работы с cookies - $_соокЕ .
#статьи 😊Почему вы должны указывать тип данных в массивах в PHP
Статья обсуждает важность и преимущества использования типов массивов в PHP для повышения ясности кода, улучшения автодополнения в IDE и улучшения статического анализа. Читать
Магические методы в РНР - это методы с особыми именами, которые автоматически вызываются при определенных действиях с объектами, например, при создании объекта, доступе к недоступным свойствам или вызове несуществующих методов. Примеры включают _construct() , _get(), _set(), _call() , и другие.
#новости 🛞В PHP 8.5 появятся две новые функции для работы с массивами — array_first() и array_last() — для удобного получения соответственно первого и последнего значения массива Подробнее
Нужно жадно загрузить связи, но при этом выбрать только определённые столбцы?
Используйте метод with() с указанием нужных столбцов, чтобы сократить использование памяти и размер запроса при работе с большими объёмами данных. Ссылка на документацию
Поздняя статическая привязка (LSB) в РНР позволяет методу правильно ссылаться на класс, который его вызвал, а не на класс, в котором метод был определен. Это решает проблему статической привязки, когда используется ключевое слово self , и позволяет методам вести себя корректно в контексте наследования.