企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
# empty、isset、is\_null <https://www.php.net/manual/zh/types.comparisons.php> empty细微区别: > **" "** 在isset中为 真,在empty中为 假 > null 在isset中为 假, 在empty中为 真 > '1' 在isset中为 真, '1' 在empty中为 假 > 1 在isset中为 真,1 在empty中为 假 > 字符串 在isset中为 真,字符串 在empty中为 假 > 不存在或者没定义的变量 在isset中为 假, 不存在或者没定义的变量 在empty中为 真, ``` <pre class="calibre10">``` <span class="token1"><</span><span class="token1">?</span>php $variable<span class="token1">=</span><span class="token4">array</span><span class="token3">(</span><span class="token2">'isset'</span><span class="token3">,</span><span class="token2">'empty'</span><span class="token3">,</span><span class="token2">'is_null'</span><span class="token3">)</span><span class="token3">;</span> $_map<span class="token1">=</span><span class="token4">array</span><span class="token3">(</span><span class="token3">)</span><span class="token3">;</span> $kong<span class="token1">=</span><span class="token2">''</span><span class="token3">;</span> $kong2<span class="token1">=</span><span class="token2">' '</span><span class="token3">;</span> $<span class="token5">null</span><span class="token1">=</span>NULL<span class="token3">;</span> $specal0 <span class="token1">=</span> <span class="token2">'0'</span><span class="token3">;</span> $specal1 <span class="token1">=</span> <span class="token2">'1'</span><span class="token3">;</span> $zero<span class="token1">=</span><span class="token6">0</span><span class="token3">;</span> $one<span class="token1">=</span><span class="token6">1</span><span class="token3">;</span> $num<span class="token1">=</span> <span class="token6">5</span><span class="token3">;</span> $var<span class="token1">=</span><span class="token2">'youzhi'</span><span class="token3">;</span> <span class="token">//$exit;</span> foreach <span class="token3">(</span>$variable as $value<span class="token3">)</span> <span class="token3">{</span> switch <span class="token3">(</span>$value<span class="token3">)</span> <span class="token3">{</span> case <span class="token2">'isset'</span><span class="token3">:</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$_map<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$kong<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$kong2<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$<span class="token5">null</span><span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'null 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'null 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$specal0<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$specal1<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$zero<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'0 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'0 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$one<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'1 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'1 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$num<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$var<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'字符串 在isset中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'字符串 在isset中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">isset</span><span class="token3">(</span>$exit<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在isset中为 真<br /><br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在isset中为 假<br /><br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">break</span><span class="token3">;</span> case <span class="token2">'empty'</span><span class="token3">:</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$_map<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$kong<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$kong2<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$<span class="token5">null</span><span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'null 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'null 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$specal0<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$specal1<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$zero<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'0 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'0 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$one<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'1 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'1 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$num<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$var<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'字符串 在empty中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'字符串 在empty中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">empty</span><span class="token3">(</span>$exit<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在empty中为 真<br /><br>'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在empty中为 假<br /><br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">break</span><span class="token3">;</span> case <span class="token2">'is_null'</span><span class="token3">:</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$_map<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空数组 array() 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$kong<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \'\' 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$kong2<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'空 \' \' 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$<span class="token5">null</span><span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'null 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'null 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$specal0<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'0\' 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$specal1<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">' \'1\' 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$zero<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'0 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'0 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$one<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'1 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'1 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$num<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'除了0和1的数字 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$var<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'字符串 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'字符串 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">if</span><span class="token3">(</span><span class="token4">is_null</span><span class="token3">(</span>$exit<span class="token3">)</span><span class="token3">)</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在is_null中为 真<br />'</span><span class="token3">;</span> <span class="token3">}</span><span class="token5">else</span><span class="token3">{</span> echo <span class="token2">'不存在或者没定义的变量 在is_null中为 假<br />'</span><span class="token3">;</span> <span class="token3">}</span> <span class="token5">break</span><span class="token3">;</span> default<span class="token3">:</span> # code<span class="token3">.</span><span class="token3">.</span><span class="token3">.</span> <span class="token5">break</span><span class="token3">;</span> <span class="token3">}</span> <span class="token3">}</span><span class="token3">;</span> ``` ``` 结果: ``` <pre class="calibre17">``` 空数组 <span class="token4">array</span><span class="token3">(</span><span class="token3">)</span> 在isset中为 真 空 <span class="token2">''</span> 在isset中为 真 空 <span class="token2">' '</span> 在isset中为 真 <span class="token5">null</span> 在isset中为 假 <span class="token2">'0'</span> 在isset中为 真 <span class="token2">'1'</span> 在isset中为 真 <span class="token6">0</span> 在isset中为 真 <span class="token6">1</span> 在isset中为 真 除了<span class="token6">0</span>和<span class="token6">1</span>的数字 在isset中为 真 字符串 在isset中为 真 不存在或者没定义的变量 在isset中为 假 空数组 <span class="token4">array</span><span class="token3">(</span><span class="token3">)</span> 在empty中为 真 空 <span class="token2">''</span> 在empty中为 真 空 <span class="token2">' '</span> 在empty中为 假 <span class="token5">null</span> 在empty中为 真 <span class="token2">'0'</span> 在empty中为 真 <span class="token2">'1'</span> 在empty中为 假 <span class="token6">0</span> 在empty中为 真 <span class="token6">1</span> 在empty中为 假 除了<span class="token6">0</span>和<span class="token6">1</span>的数字 在empty中为 假 字符串 在empty中为 假 不存在或者没定义的变量 在empty中为 真 空数组 <span class="token4">array</span><span class="token3">(</span><span class="token3">)</span> 在is_null中为 假 空 <span class="token2">''</span> 在is_null中为 假 空 <span class="token2">' '</span> 在is_null中为 假 <span class="token5">null</span> 在is_null中为 真 <span class="token2">'0'</span> 在is_null中为 假 <span class="token2">'1'</span> 在is_null中为 假 <span class="token6">0</span> 在is_null中为 假 <span class="token6">1</span> 在is_null中为 假 除了<span class="token6">0</span>和<span class="token6">1</span>的数字 在is_null中为 假 字符串 在is_null中为 假 不存在或者没定义的变量 在is_null中为 真 ``` ```