Используется ли логический оператор not (!) С оператором присваивания, чтобы всегда присваивать ложное значение переменной слева от оператора присваивания?

У меня следующий фрагмент кода, пожалуйста, просмотрите его:

<?php
// Top of the page, before sending out ANY output to the page.
$user_is_first_timer = !isset( $_COOKIE["FirstTimer"] );

// Set the cookie so that the message doesn't show again
setcookie( "FirstTimer", 1, strtotime( '+1 year' ) );
?>

<H1>hi!</h1><br><!-- Put this anywhere on your page. -->
<?php if( $user_is_first_timer ): ?>
Hello there! you're a first time user!.
<?php endif; ?>

В моем опыте кодирования большую часть времени я видел такие утверждения, как !isset( $_COOKIE["FirstTimer"] ) с if заявление. Впервые в жизни я наблюдаю такое заявление с оператором присваивания.

В приведенном выше коде я только хочу понять, что делает заявление $user_is_first_timer = !isset( $_COOKIE["FirstTimer"] ); делать?

Какова роль логического оператора not (!) В этой строке кода?

Пожалуйста, проясните мои сомнения с хорошим и надежным объяснением.

Благодарю вас.

-2

Решение

К примеру.

Исет (isset: Определить, установлена ​​ли переменная и не имеет ли значение NULL):

$foo = '1';
$bar = '';
$baz = null;

var_dump(isset($foo));
var_dump(isset($bar));
var_dump(isset($baz));
var_dump(isset($bat));

Выход:

bool(true)
bool(true)
bool(false)
bool(false)

Не оператор:

var_dump(!true);
var_dump(!false);

Выход:

bool(false)
bool(true)

Все вместе:

$qux = 'something';
var_dump(!isset($qux));
var_dump(!isset($quux)); // Note quux isn't set.

Выход:

bool(false)
bool(true)

Таким образом, в вашем примере, если значение cookie не установлено (! Isset), вы заключаете, что он ранее не посещал сайт.

С назначением вы можете иметь $true = !false, $true здесь будет справедливо, а не ложно.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]