Когда вы делаете назначение в PHP, назначение возвращает значение, которое было назначено. Это позволяет оценивать присваивание в условных выражениях, циклах или других выражениях.
var_dump ($var = 'test');
результат будет "тест" будет отображаться.
Приведенный выше пример кода выполняет присваивание и тестирование в одной и той же операции, что является довольно распространенным условием для программиста. fgets () возвращает строку из открытого файла или false, если нет строки для возврата. Вы могли бы сделать
while ($buffer !== false) {
echo $buffer;
$buffer = fgets($handle, 4096);
}
но вы, конечно, должны были бы установить для буфера не ложное значение перед входом в цикл (выполнив fgets перед циклом или присвоив значение, которое не будет отображаться, но не ложное, например пустое строка).