В тесте на знания PHP есть ошибка, вот скрин вопроса http://take.ms/lHQhG Если обратиться к документации PHP http://php.net/manual/ru/function.round.php тип возвращаемого значения float 3 - это запись для integer 3.0 - это запись для float как следствие правильный ответ 3.0, тогда как в тестах этот ответ не правильный, а считается правильным 3 Вот код для проверки $a = round(3.4); $b = 3; $c = 3.0; var_dump($a === $b); var_dump($a === $c);
Приношу извинения, если не в ту ветку написал, не знал куда еще написать.
Александр Лёвин, В общем случае вы правы. По хорошему в тесте оба варианты должны быть правильными. Так как такой вариант оба варианта посчитает правильными:
Предлагаю не путать содержание с вопросом. Если уже смотреть то проверочный код будет:
Код
$a = round(3.4);
var_dump($a);
И выведет он:
Код
float(3)
Который уже по правилам приведения будет отображен как 3. Если проверять знание PHP, то проверять их из мануала (кстати там это 1 строка первого примера).
Может тогда стоит исключить этот вопрос вообще? Или перефразировать его так, чтобы было понятно (указывать сразу float(3) или int(3))
В понимании задания есть двусмысленность, поскольку непонятно, что именно требуется, значение + тип или только значение. Поскольку ответ возможен только один, а из ответов есть 3 и 3.0 то логично с моей стороны было предположить, что значение + тип как более точный.
Александр Лёвин, дополню список: значение, значение + тип и есть еще: представление Думаю было бы логично скорретировать кейс и указать - значение и тип
Александр Лёвин, Андрей Николаев, данный вопрос не нацелен на проверку знаний типов. Поэтому здесь действительно была двусмысленность, так как оба ответа по сути правильны (3.0 == 3), а система распознавала только один как верный. Сейчас один из вариантов ответов убран, поэтому неоднозначности больше нет.
Андрей Николаев, и ваша проверка решения задания верна и Александр Лёвин, ваша. Поэтому неоднозначности больше нет. Задание не проверяет знание типов переменных и умение эти знания использовать.