if(!$ variable)和if(isset($ variable))之间有什么区别?

Ste*_*ons 11 php

if(!$variable)和之间有什么区别if(isset($variable))

Ber*_*rak 19

嗯,答案很简单.isset($var)返回变量是否存在且不为null,其中!$var告诉您该变量是否为true,或者是否为任何求值的变量true(例如非空字符串).这在本文档页面的第一个表中进行了总结.

此外,使用!$var将输出您正在使用未定义变量的通知,isset($var)而不会这样做.

请注意,它们是两个不同的东西:

<?php
var_dump( isset($foo) ); // false.
var_dump( !$foo );       // true, but with a warning.

$foo = false;
var_dump( isset($foo) ); // true
var_dump( !$foo );       // true.
Run Code Online (Sandbox Code Playgroud)