unset() isset() empty difined()操作变量详解

isset()函数 一般用来检测变量是否设置 
格式:bool isset ( mixed var [, mixed var [, ...]] )  功能:检测变量是否设置

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

  若变量存在且值不为NULL,则返回 TURE 
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

$int=‘null‘;
$str=12;
if(isset($int,$str)){  //返回true

echo ‘123‘.‘ ‘; };

更多说明:

  使用 unset() 释放变量之后,将销毁变量,所以它将不再是 isset(),不可再用此函数判断。 
  注意:PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。

empty()函数 判断值为否为空

格式:bool empty ( mixed var )   功能:检查一个变量是否为空

返回值: 
  若变量不存在则返回 TRUE 
  若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE 
  若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE

defined("CHR");   检测常量是否已设置可使用 defined() 函数。判断常量是否存在

<?php
define("GREETING","Hello world!");  //定义常量 使用常量时不用加 $
echo defined("GREETING");
?>

unset() 销毁指定的变量。

1.如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。

<?php
function destroy_foo() {
    global $foo;
    unset($foo);
}

$foo = ‘bar‘;
destroy_foo();
echo $foo;
?>

  以上例程会输出:bar

如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:

<?php
function foo()
{
    unset($GLOBALS[‘bar‘]);
}

$bar = "something";
foo();
?>

 2.如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 

<?php
function foo(&$bar) {
    unset($bar);
    $bar = "blah";
}

$bar = ‘something‘;
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

  

以上例程会输出:

  something

  something

3.如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Before unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "after unset: $bar\n";
}

foo();
foo();
foo();
?>

  

以上例程会输出:

Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23
时间: 2024-10-08 18:38:27

unset() isset() empty difined()操作变量详解的相关文章

empty()函数经典详解

<?php /** * 当var不存在,返回TRUE; * 当var存在,并且是一个非空非零的值(真值)时返回 FALSE 否则返回 TRUE . * 以下的东西被认为是空的: * * 1."" (空字符串) * 2.0 (作为整数的0) * 3.0.0 (作为浮点数的0) * 4."0" (作为字符串的0) * 5.NULL * 6.FALSE * 7.array() (一个空数组) * 8.$var; (一个声明了,但是没有值的变量) */ $a; $b

PHP isset()与empty()的使用区别详解(转)

通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法. PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同

详解PHP的__set()、__get()、__isset()、unset()四个方法

PHP系统中给我们提供了很多预定义的方法,这些方法大部分都需要在类中声明,只有需要时才添加到类中.它们的作用.方法名称.使用的参数列表和返回值都是在PHP中预定好的,并且都是以两个下划线开始的方法名称.如果需要使用这些方法,方法体中的内容需要用户自己按需求编写.每一个预定义的方法都有它特定的作用,使用时不需要用户直接调用,而是在特定的情况下自动被调用.这一节中使用到的__set().__get().__isset().和unset()四个方法,以及前面介绍过的构造方法“__construct()

****基于H5的微信支付开发详解[转]

这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可供参考,有的朋友直接看文档就可以自己实现此支付接口的开发了. 一.前言 为何我还写一篇微信支付接口的博文呢?第一,我们必须知道,所谓的工作经验很多都是靠总结出来的,你只有总结了更多知识,积累了更多经验,你才能在该行业中脱颖而出,我个人觉得如今的招聘,很多都需要工作经验(1年.3年.5年....),其

YII2框架详解

yii2框架的安装我们在之前文章中已经提到下面我们开始了解YII2框架 Yii2的应用结构: 目录篇: advance版本的特点是:根目录下预先分配了三个模块,分别是前台.后台.控制台模块. 1.backend 它主要用于管理后台,网站管理员来管理整个系统. assets 目录用于存放前端资源包PHP类. 这里不需要了解什么是前端资源包,只要大致知道是用于管理CSS.js等前端资源就可以了. config 用于存放本应用的配置文件,包含主配置文件 main.php 和全局参数配置文件 param

ThinkPHP源码阅读2-----C函数配置文件详解

ThinkPHP的配置非常灵活,可自定义加载.大概看了一下,一共有这几个地方会加载配置文件,方便以后的读取 /** * 获取和设置配置参数 支持批量定义 * * @param string|array $name * 配置变量 * @param mixed $value * 配置值 * @return mixed */ function C($name = null, $value = null) { static $_config = array (); // 无参数时获取所有 if (emp

PHP5 session 详解

http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状态信息.这时候,Session这种方案应需而生.PHP从4.1开始支持Session管理. session是很抽象的一个概念.我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,然后逐渐地认识了解它. session存储 首先,我们为什么需要Session,就是因为我们需要存储各个用户的状态数据.

php扩展imagick实例详解

imagick是一个可以供PHP调用ImageMagick功能的PHP扩展.使用这个扩展可以使PHP具备和ImageMagick相同的功能. PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,佔用的系统资源也颇多,另外GD的creatfrom也有bug,而imagick却是一个很好的替代品,为此最近把我的一个项目由GD改成了imagick,但是改完之后出现了一些

PHP5 session 详解【经典】

原文:http://www.pkwind.com/php5-session-xiang-jie-jing-dian http协议是WEB服务器与客户端 (浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,不持久的.而越来越复杂的WEB应 用,需要保存一些用户状态信息.这时候,Session这种方案应需而生.PHP从4.1开始支持Session管理. session是很抽象的一个概念.我们不妨先从与它几个息息相关的有迹可寻的小切入点入手,