1
2
3
|
$str = "phppan";
if (empty(1)); //Parse error: syntax error, unexpected T_LNUMBER
if (empty(addslashes($str))); // Fatal error: Can't use function return value in write context
|
3、floatval()函数
float floatval ( mixed var )
var 可以是任何标量类型。你不能将 floatval() 用于数组或对象。
4、import_request_variables函数
将 GET/POST/Cookie 变量导入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局变量,那么此函数就很有用。
很少用到此函数,一般都是直接使用$_GET/$_POST/$_COOKIE
如果要将其它变量导入到全局变量中,可以考虑使用extract()。
5、serialize()与unserialize()
serialize会存储数组/对象中的引用。因此可以通过序列化和反序列化实现深拷贝。
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 __wakeup() 成员函数。
6、unset — 释放给定的变量
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如下所示代码:
1
2
3
4
5
6
7
8
9
|
$a = 10;
function unset_global_var() {
global $a;
unset($a);
echo $a, '<br />';
}
unset_global_var();
echo $a, '<br />';
die();
|
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。
新版本的手册中的示例很能说明上面的这个问题:
1
2
3
4
5
6
7
8
9
10
11
12
|
function foo() {
static $bar;
$bar++;
echo "Before unset: $bar, ";
unset($bar);
$bar = 23;
echo "after unset: $bar<br />";
}
foo();
foo();
foo();
|
输出:
Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23
如果在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
辰域智控app
系统工具 下载
网医联盟app
运动健身 下载
汇丰汇选App
金融理财 下载