我正在研究 PHP,今天我遇到了字符串 null 的问题。我试图用 GOOGLE 验证太多东西,但没有成功。所以我来这里澄清一下。
我得到了价值 $var1 = "null"
为了验证上面我尝试了以下方法。
$null = is_null($var1);
if($null){
$var1 = null;
}
if($var1 === null){
$var1 = null;
}
if($var1 === "null"){
$var1 = null;
}
Run Code Online (Sandbox Code Playgroud)
但以上方式都不成功。我如何验证$var1 = "null"?
您可以通过多种方式进行验证:
通过使用以下php变量处理函数
is_null(mixed $var)isset(mixed $var)empty(mixed $var)通过使用比较运算符==,===或!=
您可以使用 php 变量处理函数is_null(mixed $var),如果 var 为null则返回TRUE,否则返回FALSE。
<?php
$foo = NULL;
$bar = 'NULL';
var_dump(is_null($foo), is_null($bar));
?>
Run Code Online (Sandbox Code Playgroud)
输出
bool(true) bool(false)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的$bar = 'NULL',$bar = NULL两者都是不同的。实际上,其中一个是用字符串初始化,而不是用 NULL 初始化。
如果var存在并且具有除NULL以外的值,则返回TRUE,否则返回FALSE。
笔记
isset()仅适用于变量,因为传递任何其他内容都会导致解析错误。要检查是否设置了常量,请使用 defined() 函数。
<?php
$foo = NULL;
$bar = 'NULL';
var_dump(isset($foo), isset($bar));
?>
Run Code Online (Sandbox Code Playgroud)
输出
bool(false) bool(true)
Run Code Online (Sandbox Code Playgroud)
如果 var 存在且具有非空、非零值,则返回FALSE。否则返回TRUE。
<?php
$foo = NULL;
$bar = 'NULL';
var_dump(empty($foo), empty($bar));
?>
Run Code Online (Sandbox Code Playgroud)
输出
bool(true) bool(false)
Run Code Online (Sandbox Code Playgroud)
==或===或!=您可以使用比较运算符==,===或!=检查变量是否为空。
<?php
$foo = NULL;
$bar = 'NULL';
// Using == operator
echo "Using '==' operator\n";
if($foo == NULL)
echo "foo is NULL\n";
else
echo "foo is not NULL\n";
if($bar == NULL)
echo "bar is NULL\n";
else
echo "bar is not NULL\n";
// Using === operator
echo "\nUsing '===' operator\n";
if($foo === NULL)
echo "foo is NULL\n";
else
echo "foo is not NULL\n";
if($bar === NULL)
echo "bar is NULL\n";
else
echo "bar is not NULL\n";
?>
Run Code Online (Sandbox Code Playgroud)
输出
Using '==' operator
foo is NULL
bar is not NULL
Using '===' operator
foo is NULL
bar is not NULL
Run Code Online (Sandbox Code Playgroud)
==和之间的唯一区别===是==仅检查左右值是否相等。但是,===运算符(注意额外的“=”)实际上会检查左右值是否相等,并且还会检查它们是否属于相同的变量类型(例如它们是否都是布尔值、整数等) .