Home php教程 php手册 php unset()销毁单个或多个变量

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

May 25, 2016 pm 04:47 PM
unset

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

例 1. unset() 示例

实例代码如下:

<?php 
    // 销毁单个变量 
    unset ($foo); 
    // 销毁单个数组元素 
    unset ($bar[&#39;quux&#39;]); 
    // 销毁一个以上的变量 
    unset ($foo1, $foo2, $foo3); 
?>
Copy after login

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

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

实例代码如下:

<?php 
    function destroy_foo() { 
    global $foo; 
    unset($foo); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
Copy after login

上边的例子将输出:

bar
Copy after login

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

实例代码如下:

<?php 
    function foo(&$bar) { 
    unset($bar); 
    $bar = "blah"; 
    } 
    $bar = &#39;something&#39;; 
    echo "$bar\n"; 
    foo($bar); 
    echo "$bar\n"; 
?>
Copy after login

上边的例子将输出:

something
something
Copy after login

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(); 
?>
Copy after login

运行该例子,输出:

1---1
NULL
NULL
#######################
1---2
NULL
NULL
#######################
1---3
NULL
NULL
#######################
Copy after login

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

试着比较如下两个例子:

实例代码如下:

<?php 
    function destroy_foo() { 
        global $foo; 
        unset($foo); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
<?php
    function destroy_foo() { 
        global $foo; 
        unset($GLOBALS[&#39;foo&#39;]); 
    } 
    $foo = &#39;bar&#39;; 
    destroy_foo(); 
    echo $foo; 
?>
Copy after login

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


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1243
24