PHP unset()函数
unset()函数是PHP的一个预定义的变量处理函数,用于取消设置指定的变量。换句话说,”unset()函数会销毁变量”。
这个函数在用户定义的函数内部的行为是不同的。如果在函数内部取消设置全局变量,unset()函数会在本地销毁它,并保留最初在外部提供的相同值。可以使用$GLOBALS数组在函数内部销毁全局变量。
注意:使用unset()函数取消设置一个变量后,它将不再被视为设置的状态。
语法
unset (mixed variable, ….)
混合表示该参数可以是多种类型。
参数
此函数接受一个或多个参数,但至少需要传递一个参数。
变量(必填) – 必须传递此参数,因为它保存了需要取消设置的变量。
… – 传递更多需要取消设置的变量,这是可选的。
返回值
unset()函数不返回任何值。
示例
以下是一些示例,通过这些示例您可以了解unset()函数的工作原理:
示例1:
<?php
//variable website is initializedwebsite='javatpoint.com';
//display the name of the website
echo 'Before using unset() the domain name of website is : '. website. '<br>';
//unset the variablewebsite
unset(website);
//It will not display the name of the website
echo 'After using unset() the domain name of website is : '.website;
?>
输出:
Before using unset() the domain name of website is : javatpoint.com
Notice: Undefined variable: website in C:\xampp\htdocs\program\unset.php on line 5
After using unset() the domain name of website is :
示例2:使用unset()函数
在这个示例中,我们将使用unset()函数来销毁变量。看下面的示例:
<?php
var_value1 = 'test';
if (isset(var_value1)) {
//It will print because variable is set
echo "Variable before unset : ". var_value1;
echo "</br>";
var_dump (isset(var_value1));
}
unset (var_value1);
echo "</br>Variable after unset : ".var_value1;
echo "</br>";
var_dump (isset($var_value1));
?>
输出:
Variable before unset : test
bool(true)
Notice: Undefined variable: var_value1 in C:\xampp\htdocs\program\unset.php on line 10
Variable after unset :
bool(false)
示例3:取消全局变量的设置,但不会反映任何更改
如果您尝试在函数内直接取消设置全局变量,更改将只在局部范围内反映,而不是在全局范围内。
<?php
var_value1 = "Welcome to javatpoint";
// No changes will be reflected outside
function unset_var_value()
{ unset(var_value1);
}
unset_var_value();
echo $var_value1;
?>
输出:
Welcome to javatpoint.
示例4:当更改生效时,取消全局变量
在函数中使用 $GLOBAL 数组取消全局变量。
<?php
var_value1 = "Welcome to javatpoint";
// Changes will be reflected outside function unset_var_value() { unset(GLOBALS['var_value1']);
}
unset_var_value();
echo $var_value1;
?>
输出:
Notice: Undefined variable: var_value1 in C:\xampp\htdocs\program\unset.php on line 11
示例5:销毁静态变量
<?php
function destroy_var()
{
static var;var++;
echo "Value before unset: var, ";
unset(var);
var = 25;
echo "Value after unset:var </br>";
}
destroy_var();
destroy_var();
destroy_var();
?>
输出:
Value before unset: 1, Value after unset: 25
Value before unset: 2, Value after unset: 25
Value before unset: 3, Value after unset: 25