Rumah >pembangunan bahagian belakang >masalah PHP >php中isset是什么意思

php中isset是什么意思

青灯夜游
青灯夜游asal
2021-03-11 18:02:079154semak imbas

isset()是PHP中的一个用来检测变量是否声明的内置函数,其返回值为布尔类型。若变量不存在则返回FALSE;若变量存在且其值为NULL,也返回FALSE;若变量存在且值不为NULL,则返回TURE。

php中isset是什么意思

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP中的isset() 函数用于检测变量是否已声明并且非 NULL。该函数返回布尔类型的值,即true/false。

格式:

bool isset ( mixed var [, mixed var [, ...]] )

返回值:

  • 若变量不存在则返回 FALSE

  • 若变量存在且其值为NULL,也返回 FALSE

  • 若变量存在且值不为NULL,则返回 TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

示例:

<?php

$var = &#39;&#39;;

// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
    echo "This var is set so I will print.";
}

// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
// the return value of isset().

$a = "test";
$b = "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

这对于数组中的元素也同样有效:

<?php

$a = array (&#39;test&#39; => 1, &#39;hello&#39; => NULL, &#39;pie&#39; => array(&#39;a&#39; => &#39;apple&#39;));

var_dump(isset($a[&#39;test&#39;]));            // TRUE
var_dump(isset($a[&#39;foo&#39;]));             // FALSE
var_dump(isset($a[&#39;hello&#39;]));           // FALSE

// 键 &#39;hello&#39; 的值等于 NULL,所以被认为是未置值的。
// 如果想检测 NULL 键值,可以试试下边的方法。 
var_dump(array_key_exists(&#39;hello&#39;, $a)); // TRUE

// Checking deeper array values
var_dump(isset($a[&#39;pie&#39;][&#39;a&#39;]));        // TRUE
var_dump(isset($a[&#39;pie&#39;][&#39;b&#39;]));        // FALSE
var_dump(isset($a[&#39;cake&#39;][&#39;a&#39;][&#39;b&#39;]));  // FALSE

?>

【推荐学习:《PHP视频教程》】

Atas ialah kandungan terperinci php中isset是什么意思. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php中文怎么转unicode编码Artikel seterusnya:php ziparchive怎么用