检测变量是否为空的函数empty()的语法如下:
empty(variable)
个中,variable 是要检测的变量。empty() 函数会返回一个布尔值,如果变量为空,则返回 true,否则返回 false。
须要把稳的是,empty() 函数会在以下情形返回 true(表示变量为空):
变量为非零数字或非空字符串平分歧类型的非空值。
变量不存在、被赋值为 null 或被销毁。
而在其他情形下,empty() 函数会返回 false(表示变量不为空)。
下面看一下检测变量是否为空的函数empty()的示范代码:
<?php $var1 = ""; // 空字符串 $var2 = 0; // 零值 $var3 = false; // 布尔值 false $var4 = null; // null 值 $var5 = "php"; // php值 if (empty($var1)) { echo "变量 var1 是空的"; } else { echo "变量 var1 不是空的"; } echo"<br>";if (empty($var2)) { echo "变量 var2 是空的"; } else { echo "变量 var2 不是空的"; } echo"<br>";if (empty($var3)) { echo "变量 var3 是空的"; } else { echo "变量 var3 不是空的"; } echo"<br>";if (empty($var4)) { echo "变量 var4 是空的"; } else { echo "变量 var4 不是空的"; } echo"<br>";if (empty($var5)) { echo "变量 var5 是空的"; } else { echo "变量 var5 不是空的"; } ?>
以上内容在PHP8中运行结果如下:
变量 var1 是空的变量 var2 是空的变量 var3 是空的变量 var4 是空的变量 var5 不是空的
2、判断变量是否定义过的函数isset()
在 PHP 中,isset() 是一个用于检讨变量是否已经定义且不为 null 的函数。它的语法构造如下:
bool isset(mixed $var [, mixed $...])
isset() 可以接管多个参数,并且对每个参数分别进行判断。它返回一个布尔值,如果所有参数都已定义且不为 null,则返回 true,否则返回 false。
以下是一些示例代码,展示了 isset() 函数的常见用法:
<?php $var1 = 10;$var2 = null;isset($var1); // 返回 true,由于 $var1 已经定义且不为 nullisset($var2); // 返回 false,由于 $var2 为 nullisset($var3); // 返回 false,由于 $var3 没有定义isset($var1, $var2); // 返回 false,由于 $var2 为 nullif (isset($var1)) { echo '$var1 已定义且不为 null';} else { echo '$var1 未定义或为 null';}?>
以上代码在PHP8中运行的结果为:
$var1 已定义且不为 null
请把稳,isset() 只能用于变量,不能用于常量。如果要检讨常量是否已经定义,请利用 defined() 函数。
3、销毁指定的变量的函数unset()销毁指定的变量unset(),语法构造如下:
unset($variable);
个中 $variable 是要销毁的变量名。
利用 unset() 函数可以将指定的变量从内存中移除,开释其占用的资源。被销毁的变量将不再可用,并且考试测验访问它们将引发一个 Notice 缺点。
以下是一个示例,演示了如何利用 unset() 函数来销毁变量:
<?php $name = "John Doe";unset($name);// 考试测验访问已销毁的变量会导致 Notice 缺点echo $name; // Notice: Undefined variable: name?>
在PHP8中运行结果:
Warning: Undefined variable $name in D:\phpenv\www\localhost\test.php on line 6
4、获取变量的类型的函数gettype()
PHP8中获取变量的类型的函数gettype()的语法构造如下:
string gettype($var)
个中,$var 是要获取类型的变量。返回值为字符串类型,表示变量的类型。常见的类型包括:"boolean"、"integer"、"float"、"string"、"array"、"object"、"null"。
PHP8中获取变量的类型的函数gettype()的示范代码:
<?php $number = 42;$str = "Hello, World!";$arr = [1, 2, 3];$obj = new stdClass();$isTrue = true;echo gettype($number)."<br>";echo gettype($str)."<br>"; echo gettype($arr)."<br>"; echo gettype($obj)."<br>"; echo gettype($isTrue); ?>
以上代码在PHP8中的运行结果为:
integerstringarrayobjectboolean
5、检讨变量是否为数字或数字字符串的函数is_numeric()
PHP8中检讨变量是否为数字或数字字符串的函数is_numeric()的语法构造如下:
bool is_numeric( mixed $value )
个中 $value 是要检讨的值,可以是一个变量、常量或表达式。
该函数返回一个布尔值,如果给定的值为数字或数字字符串,则返回 true,否则返回 false。
以下是一些示例代码,展示了 is_numeric() 函数的利用办法和输出结果:
<?php $var1 = 123; // 整数 $var2 = 3.14; // 浮点数 $var3 = "123"; // 数字字符串 $var4 = "abc"; // 非数字字符串 $var5 = true; // 布尔值 true(将被转换为整数 1) $var6 = false; // 布尔值 false(将被转换为整数 0) $var7 = NAN; // 不是一个数字(NaN) echo var_dump(is_numeric($var1)) . "<br>"; echo var_dump(is_numeric($var2)) . "<br>"; echo var_dump(is_numeric($var3)) . "<br>"; echo var_dump(is_numeric($var4)) . "<br>"; echo var_dump(is_numeric($var5)) . "<br>"; echo var_dump(is_numeric($var6)) . "<br>"; echo var_dump(is_numeric($var7)); ?>
以上代码在PHP8中的运行结果为:
bool(true)bool(true)bool(true)bool(false)bool(false)bool(false)bool(true)
这只是个中一些与变量干系的内置函数,在PHP文档中还有其他许多函数可供给用。您可以根据详细需求来选择适宜您的函数。
下面大略先容几个不在详细展开解释了:
var_dump(): 用于打印变量的构造和值。
print_r(): 用于打印变量的构造和值,可读性更高。
is_array(): 用于检讨一个变量是否为数组。
is_bool(): 用于检讨一个变量是否为布尔值。
is_float(): 用于检讨一个变量是否为浮点数。
is_int(): 用于检讨一个变量是否为整数。
is_string(): 用于检讨一个变量是否为字符串。
is_null(): 用于检讨一个变量是否为 null。
篇幅有限,本日学习的变量函数中,着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数gettype()、检讨变量是否为数字或数字字符串的函数is_numeric()。