Библиотека собеса по PHP | вопросы с собеседований
3.38K subscribers
140 photos
2 videos
68 links
Вопросы с собеседований по PHP и ответы на них.

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
В чем разница между =, == и ===?

В PHP операторы "=" (присваивание), "==" (сравнение) и "===" (строгое сравнение) имеют различное поведение:

1. "=" (присваивание): Используется для присваивания значения переменной. Например:

$x = 5; // Переменной $x присваивается значение 5

2. "==" (сравнение): Используется для сравнения значений переменных без учета их типа данных. Если значения переменных равны, то возвращается значение true, иначе - false. Например:

$x = 5;
$y = "5";
if ($x == $y) {
echo "Переменные равны";
} else {
echo "Переменные не равны";
}

В данном примере будет выведено "Переменные равны", так как значения переменных равны, несмотря на то, что они имеют разные типы данных (integer и string).

3. "===" (строгое сравнение): Используется для сравнения значений переменных с учетом их типа данных. Если значения переменных и их типы данных идентичны, то возвращается значение true, иначе - false. Например:

$x = 5;
$y = "5";
if ($x === $y) {
echo "Переменные равны";
} else {
echo "Переменные не равны";
}

В данном примере будет выведено "Переменные не равны", так как значения переменных равны, но их типы данных различаются (integer и string).
Что такое генераторы и как их использовать?

Генераторы в PHP - это специальный тип функций, которые позволяют создавать итерируемые объекты. Они используются для ленивой генерации значений, что позволяет оптимизировать использование памяти.

Генераторы в PHP объявляются с использованием ключевого слова "yield". Они могут быть использованы вместо массивов или циклов для обработки большого количества данных по мере их поступления.
Что делает оператор yield?

Когда оператор yield вызывается внутри функции, она превращает эту функцию в генератор. Он возвращает следующее значение из генератора и приостанавливает его выполнение, сохраняя его текущее состояние. При следующем вызове оператора yield выполнение продолжится с того же места, где остановилось.

Оператор yield может использоваться для итерации через массивы, коллекции или базы данных без необходимости загружать все значения сразу. Он также может использоваться вместе с оператором foreach для упрощения обработки больших объемов данных.