首页 > php教程 > php手册 > 正文

php unset()销毁单个或多个变量

php中文网
发布: 2016-05-25 16:47:27
原创
1214人浏览过

unset函数是php自带的一个销毁变量的函数,我们介绍了利用unset来销毁静态变量与全局变量的方法,同时出可以销毁数组变量哦,下面我们看实例.

例 1. unset() 示例

实例代码如下:

<?php 
    // 销毁单个变量 
    unset ($foo); 
    // 销毁单个数组元素 
    unset ($bar['quux']); 
    // 销毁一个以上的变量 
    unset ($foo1, $foo2, $foo3); 
?>
登录后复制

unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同.

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

立即学习PHP免费学习笔记(深入)”;

实例代码如下:

<?php 
    function destroy_foo() { 
    global $foo; 
    unset($foo); 
    } 
    $foo = 'bar'; 
    destroy_foo(); 
    echo $foo; 
?>
登录后复制

上边的例子将输出:

小舍微信分销拼团系统 v6.0
小舍微信分销拼团系统 v6.0

小舍微信分销拼团系统是一个以php+mysql进行开发的php微信拼团系统源码。 小舍微信分销拼团系统是为中小型商户开发的微信拼团系统,这套系统是将拼团功能作为独立的购物商城,具有购物模式鲜明,易吸粉易传播,体验流畅等特点。只要你具备服务号开通微支付马上开始经营,就能快速的裂变传播拥有大量粉丝及订单。 软件100%无锁雾加密的正版源码,无后门,无外链内附拼团版、拼团+微商城版+多商户拼团版+昊

小舍微信分销拼团系统 v6.0 1662
查看详情 小舍微信分销拼团系统 v6.0
bar
登录后复制

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

实例代码如下:

<?php 
    function foo(&$bar) { 
    unset($bar); 
    $bar = "blah"; 
    } 
    $bar = 'something'; 
    echo "$bar\n"; 
    foo($bar); 
    echo "$bar\n"; 
?>
登录后复制

上边的例子将输出:

something
something
登录后复制

unset() 静态变量,严格讲,使用 unset() 销毁静态变量,只是断开了变量名和变量值之间的引用.

例子,实例代码如下:

<?php 
    function foo() { 
        static $b; 
        $a++; 
        $b++; 
        echo "$a---$bn"; 
        unset($a,$b); 
        var_dump($a); 
        var_dump($b); 
        echo "######################n"; 
    } 
    foo(); 
    foo(); 
    foo(); 
?>
登录后复制

运行该例子,输出:

1---1
NULL
NULL
#######################
1---2
NULL
NULL
#######################
1---3
NULL
NULL
#######################
登录后复制

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

试着比较如下两个例子:

实例代码如下:

<?php 
    function destroy_foo() { 
        global $foo; 
        unset($foo); 
    } 
    $foo = 'bar'; 
    destroy_foo(); 
    echo $foo; 
?>
<?php
    function destroy_foo() { 
        global $foo; 
        unset($GLOBALS['foo']); 
    } 
    $foo = 'bar'; 
    destroy_foo(); 
    echo $foo; 
?>
登录后复制

运行第一个例子会输出:bar ,而第二个例子则不会有任何输出.


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号