Задать вопрос
@GreenElephant

PHP. Что вернет данная строчка кода?

Добрый день! Сижу разбираю php файл, и в силу того что я не силен в синтаксисе этого языка, а гугл выдает не очень понятные темы, осмелюсь обратиться сюда. Есть строчка кода:
$f = fopen($filename, "r");
list(, $no) = unpack("V", fread($f, 4));
Функция, в которой написан этот код, обрабатывает бинарник. Объясните пожалуйста, что именно запишется в переменную $no. Последние 3 байта из 4?
  • Вопрос задан
  • 2416 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 3
yarofon
@yarofon
Второй элемент массива, возвращаемого ф-й unpack
Ответ написан
@neolink
php.net/manual/ru/function.unpack.php
так как имя у извлекаемого параметра не задано, но он будет записан с ключом 1.
Оператор list извлекает элементы из числовых массивов, таким образом, это тоже самое что:
$f = fopen($filename, "r");
$result = unpack("V", fread($f, 4));
$no = $result[1];

и в $no будет uint32 считанный из файла
Ответ написан
Комментировать
@krypt3r
Берет 4 байта из файла, затем распаковывает с помощью unpack(), рассматривая их как бинарную строку.
V - беззнаковый long (всегда 32 бит, порядок little endian)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы