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

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

Добрый день! Сижу разбираю php файл, и в силу того что я не силен в синтаксисе этого языка, а гугл выдает не очень понятные темы, осмелюсь обратиться сюда. Есть строчка кода:
$f = fopen($filename, "r");
list(, $no) = unpack("V", fread($f, 4));
Функция, в которой написан этот код, обрабатывает бинарник. Объясните пожалуйста, что именно запишется в переменную $no. Последние 3 байта из 4?
  • Вопрос задан
  • 2417 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽