关于phpunset的信息
php unset是什么意思 博客园
unset是php的一个语句,它的功能是:销毁指定的变量。注意在 PHP 3 中,unset() 将返回
TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。
同时,删除一个变量以后,将会释放内存。
在比较大的程序里,查询数据库数千条数据存放到一个变量里面,如果变量用完不再使用后应使用unset将变量删除并释放内存,这样可以加快服务器的响应时间,减轻服务器负担,创造一个良好的服务器环境。
PHP 引用变量加unset的问题
其实很简单
注意你的两个get_arr()操作语句
get_arr($arr1);
get_arr($arr2);
第一个get_arr()使用到了取引用符,并且将$arr1传入。这样子,传入了$arr1的引用,在get_arr()内部相当于直接操作了$arr1数组,而该数组删除了数组首位的值,所以长度只有1。
而第二个get_arr()并没有使用引用,当你将$arr2传入时,相当于将$arr2复制了一份传入,get_arr()函数处理的只是$arr2的拷贝,所以他只是删除了$arr2拷贝的首位值,对$arr2本身没有影响

解析PHP中的unset会不会释放内存
我理解的是,会列为php可用内存,但不会释放给操作系统。一个10M的大数组被unset,内存占用不会减小,但是新的产量声明赋值后会复用这块内存。所以习惯上使用完大数组后会unset掉,便于php复用这块内存,避免超过memory_limit限制和节约内存。
PHP中isset()和unset()函数的用法小结
isset
(PHP
3,
PHP
4,
PHP
5
)
isset
--
检测变量是否设置
描述
bool
isset
(
mixed
var
[,
mixed
var
[,
...]])
如果
var
存在则返回
TRUE,否则返回
FALSE。
如果已经使用
unset()
释放了一个变量之后,它将不再是
isset()。若使用
isset()
测试一个被设置成
NULL
的变量,将返回
FALSE。同时要注意的是一个
NULL
字节("\0")并不等同于
PHP
的
NULL
常数。
警告:
isset()
只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用
defined()
函数。
复制代码
代码如下:
?php
$var
=
'';
//
结果为
TRUE,所以后边的文本将被打印出来。
if
(isset($var))
{
"This
var
is
set
set
so
I
will
print.";
}
//
在后边的例子中,我们将使用
var_dump
输出
isset()
的返回值。
$a
=
"test";
$b
=
"anothertest";
var_dump(
isset($a)
);
//
TRUE
var_dump(
isset
($a,
$b)
);
//
TRUE
unset
($a);
var_dump(
isset
($a)
);
//
FALSE
var_dump(
isset
($a,
$b)
);
//
FALSE
$foo
=
NULL;
var_dump(
isset
($foo)
);
//
FALSE
?