@gtbear
Разработчик

Любопытный вопрос из тестового задания?

Здравствуйте хабравчане. Прислали мне из одной конторы тестовые задания, и среди вопросов есть такой:


Дан код


$x = ....;

if ($x == 1 && $x==2 && $x==3){

echo(«ok»);

}


Что нужно подставить в $x чтобы было выведено в консоль «ok».


Я в голове перебрал все варианты, но так и не придумал как одна переменная может пройти сразу три сравнения с разными значениями. Возможно этот вопрос на знание каких то особенностей PHP, но с моей колокольни решения эта задача не имеет.


Следовательно вопрос: имеет ли эта задача решение?
  • Вопрос задан
  • 5663 просмотра
Решения вопроса 1
LightSUN
@LightSUN
    $x = true;
    if ($x == 1 && $x==2 && $x==3)
    {
        echo('ok');
    }
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@robofox
$x = print("ok");
if ($x == 1 && $x==2 && $x==3){
  echo("ok");
}

Они же не уточнили, что должна отработать инструкция с условием ;)
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Ответ банален и проблема лежит в приведении типов.
$x = true;
Ответ написан
Комментировать
@egorinsk
Я не понимаю, с какой целью даются такие задания (да, я не помню наизусть правила приведения типов). Они ищут людей, которые будут им писать код в таком стиле? Они ищут любителей зазубривания документации?
Ответ написан
Anastasia_K
@Anastasia_K
совсем не знаю php, но на уровне интуиции: надо чтобы в $X был бы тип int. тогда при сравнении типа int с любым числом вернется true
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы