$x = ((!y) && (y)) Вопрос с собеседования [закрыт]

173
13 августа 2018, 05:20

Вопрос с собеседования:

Возможно ли вычислить значение $x при любых известных значениях $y?

$x = ((!$y) && ($y))

Возможно ли, чтобы выражение вернуло true?

Что будет, если вместо $y подставить массив?

Answer 1
  1. Возможно. В любом случае сравнение что-то вернёт.
  2. Операнды друг к другу обратны (т. е. если один вернёт false, то ! обратит в true), а && возвращает true только если оба вернут true, так что нет.
    Хотя может есть особые виды извращения/баги.
  3. Пустой обратится в false, с элементами - в true. Из правила выше понятно что в $x вернётся только false.
Answer 2

$x = ((!$y) && ($y));

Возможно ли, чтобы выражение вернуло true?

Если не придираться, то возможно:

<?php
declare(ticks=1);
$x = 0;
register_tick_function(function() use (&$x){
    $x = true;
}, true);
$y = false;
$x = (!$y && $y);
var_dump($x); // true
READ ALSO
Сделать ссылку для iframe

Сделать ссылку для iframe

У меня есть онлайн редакторТам я хочу сделать одну фишку, но я не знаю, как ее сделать

148
Как создать websocket клиент на php

Как создать websocket клиент на php

Нужно сделать вебсокет клиент на пхп для получения с чужого websocket сервера даных) Информации о серверах в интернете полно, о клиенте на php ничего...

179
Переписать функцию с js reduce на php

Переписать функцию с js reduce на php

Переношу тяжёлый клиентский код на сервер и у меня возникли проблемыЕсть функция, написанная в JavaScript:

166
Yii2 сохранение сессии

Yii2 сохранение сессии

Всем привет!

153