PHP中isset()和unset()函数的用法小结_php实例

isset
(PHP 3, PHP 4, PHP 5 )

isset -- 检测变量是否设置

描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 TRUE,否则返回 FALSE。

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

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

复制代码 代码如下:

<?php
$var = '';

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

// 在后边的例子中,我们将使用 var_dump 输出 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 ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test']) );            // TRUE
var_dump( isset ($a['foo']) );             // FALSE
var_dump( isset ($a['hello']) );           // FALSE

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

注: 由于这是一个语言结构而非函数,因此它无法被“变量函数”调用。

合理应用PHP函数isset()可以帮助我们是检测变量是否设置。若果变量不存在则返回 FALSE,而如果变量存在且值不为NULL,则返回 TURE。

通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言。庞大的函数库支持着PHP语言功能的实现。下面我们为大家介绍有关PHP函数isset()的相关用法。

格式:bool isset ( mixed var [, mixed var [, ...]] )

功能:检测变量是否设置

返回值:

若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE

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

版本:PHP 3, PHP 4, PHP 5

更多说明:

使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。

unset()

销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。

时间: 2024-12-30 04:55:44

PHP中isset()和unset()函数的用法小结_php实例的相关文章

PHP中isset()和unset()函数的用法小结

 本篇文章主要是对PHP中isset()和unset()函数的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 isset (PHP 3, PHP 4, PHP 5 )   isset -- 检测变量是否设置   描述 bool isset ( mixed var [, mixed var [, ...]]) 如果 var 存在则返回 TRUE,否则返回 FALSE.   如果已经使用 unset() 释放了一个变量之后,它将不再是 isset().若使用 isset() 测试

PHP中ini_set和ini_get函数的用法小结_php技巧

php中的ini_set函数是php自带的用来修改设置php.ini配置文件的函数,用这个函数很方便,不用去手动修改php.ini文件,有时候我们也没有权限去修改php.ini文件,这时就用这个函数. 语法:ini_set("选项","值");该函数用时最好放到php的脚本最头部 比如:ini_set("max_execution_time", "180");//设置php的脚本超时时间为180秒 具体php选项可参考phpi

thinkphp中字符截取函数msubstr()用法分析_php实例

本文实例讲述了thinkphp中字符截取函数msubstr()用法.分享给大家供大家参考,具体如下: ThinkPHP有一个内置字符截取函数msubstr()如下: msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset="utf-8":字符编码,默认UTF-8 $suffix=tr

smarty内置函数capture用法分析_php实例

本文实例讲述了smarty内置函数capture用法.分享给大家供大家参考.具体分析如下: {capture}可以捕获标记范围内的输出内容,并存到变量中而不显示.有三种用法, 代码如下: 复制代码 代码如下: {capture name="banner"}aaaaaa{/capture} {$smarty.capture.banner} <hr /> {capture assign="foo"}bbbbbb{/capture} {$foo} <hr

thinkPHP模板中for循环与switch语句用法示例_php实例

本文实例讲述了thinkPHP模板中for循环与switch语句用法.分享给大家供大家参考,具体如下: 1.for用法 <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" > </for> 案例 <for start="1" end="100"> {$i}

Yii框架中jquery表单验证插件用法示例_php实例

本文实例讲述了Yii框架中jquery表单验证插件用法.分享给大家供大家参考,具体如下: 运行效果图如下: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

PHP中set error handler函数用法小结_php实例

set_error_handler() 函数设置用户自定义的错误处理函数.该函数用于创建运行时期间的用户自己的错误处理方法.该函数会返回旧的错误处理程序,若失败,则返回 null. 下面来看一些例子.  set_error_handler() PHP从4.1.0开始提供了自定义错误处理句柄的功能函数set_error_handler(),但很少数脚本编写者知道.set_error_handler这个函数可以很好地防止错误路径泄露,当然还有其它更多的作用. 1.可以用来屏蔽错误. 出现错误一来会把

Python中dictionary items()系列函数的用法实例_python

本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # available only in Python 3.x def make_elements(name, value, **attrs): keyvals = [' %s="%s"' % item for item in attrs.items()] attr_str = ''.join(keyvals

PHP常见数组函数用法小结_php技巧

本文实例讲述了PHP常见数组函数用法.分享给大家供大家参考,具体如下: 1.array array_merge(array $array1 [, array  $array2 [, $array]]) 函数功能:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方