Home >Backend Development >PHP Problem >What does php unset mean?

What does php unset mean?

藏色散人
藏色散人Original
2021-06-15 10:20:502357browse

php unset is a function used to destroy a given variable. Its usage syntax is "void unset (mixed $var [, mixed $... ])", and its parameter "$var" means to destroy Variables.

What does php unset mean?

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

What does php unset mean?

The unset() function is used to destroy the given variable.

Syntax

void unset ( mixed $var [, mixed $... ] )

Parameter description:

$var: Variable to be destroyed.

Return value

No return value.

Example

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

If you unset() a global variable in a function, only the local variable will be destroyed, and the variables in the calling environment will maintain the same value before calling unset().

Example

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

The output result is:

bar

If you want to unset() a global variable in the function, you can use the $GLOBALS array to achieve this:

Example

<?php
function foo() 
{
    unset($GLOBALS[&#39;bar&#39;]);
}
 
$bar = "something";
foo();
?>

If you unset() a variable passed by reference in a function, only the local variable will be destroyed, and the variables in the calling environment will maintain the same value before calling unset().

Example

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

The above routine will output:

something
something

If you unset() a static variable in the function, then the static variable will be destroyed inside the function. However, when this function is called again, this static variable will be restored to the value it had before it was last destroyed.

Example

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

The above routine will output:

Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What does php unset mean?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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