简介:本次介绍的是PHP手册中与变量相关的一些系统函数,下面天涯把最常用的进行详细说明。
empty — 检查一个变量是否为空
“”、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的【天涯注:这个貌似有问题?】
isset — 检测变量是否设置
is_null — 检测变量是否为 NULL
下面是本地环境测试结果:Apache2.2/MySQL5.5/php-5.2.17
//天涯PHP博客 http://blog.phpha.com
error_reporting(0);
class phpha{}
$var1;
$var2 = '';
$var3 = NULL;
$var4 = array();
$var5 = new phpha;
echo empty($var1) ? 'empty | ' : 'not empty | ';
echo is_null($var1) ? 'is_null | ' : 'not is_null | ';
echo isset($var1) ? 'isset' : 'not isset ';
echo '
';
echo empty($var2) ? 'empty | ' : 'not empty | ';
echo is_null($var2) ? 'is_null | ' : 'not is_null | ';
echo isset($var2) ? 'isset' : 'not isset ';
echo '
';
echo empty($var3) ? 'empty | ' : 'not empty | ';
echo is_null($var3) ? 'is_null | ' : 'not is_null | ';
echo isset($var3) ? 'isset' : 'not isset ';
echo '
';
echo empty($var4) ? 'empty | ' : 'not empty | ';
echo is_null($var4) ? 'is_null | ' : 'not is_null | ';
echo isset($var4) ? 'isset' : 'not isset ';
echo '
';
echo empty($var5) ? 'empty | ' : 'not empty | ';
echo is_null($var5) ? 'is_null | ' : 'not is_null | ';
echo isset($var5) ? 'isset' : 'not isset ';
?>
//天涯PHP博客 http://blog.phpha.com
输出如下:
empty | is_null | not isset
empty | not is_null | isset
empty | is_null | not isset
empty | not is_null | isset
not empty | not is_null | isset
get_resource_type — 返回资源(resource)类型
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link
$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:domxml document
?>
gettype — 获取变量的类型
settype — 设置变量的类型
返回的字符串的可能值为:
“boolean”(从 PHP 4 起)
“integer”
“double”(由于历史原因,如果是 float 则返回“double”,而不是“float”)
“string”
“array”
“object”
“resource”(从 PHP 4 起)
“NULL”(从 PHP 4 起)
“user function”(只用于 PHP 3,现已停用)
“unknown type”
import_request_variables — 将 GET/POST/Cookie 变量导入到全局作用域中
将 GET/POST/Cookie 变量导入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局变量,那么此函数就很有用。
【天涯注】最好别乱用。
intval — 获取变量的整数值
可用于强制类型转换,等同于: intval($num); 或 (int) $num;
$var1 = 10.898;
$var2 = 'hello';
$var3 = '22hello';
echo intval($var1) . '
';
echo intval($var2) . '
';
echo intval($var3);
?>
输出:
10
0 //至于为什么是0请参考PHP类型转换规则
22
is_array — 检测变量是否是数组
is_binary — Finds whether a variable is a native binary string
is_bool — 检测变量是否是布尔型
is_buffer — Finds whether a variable is a native unicode or binary string
is_callable — 检测参数是否为合法的可调用结构
is_double — is_float 的别名
is_float — 检测变量是否是浮点型
is_int — 检测变量是否是整数
is_integer — is_int 的别名
is_long — is_int 的别名
is_numeric — 检测变量是否为数字或数字字符串
is_object — 检测变量是否是一个对象
is_real — is_float 的别名
is_resource — 检测变量是否为资源类型
is_scalar — 检测变量是否是一个标量
is_string — 检测变量是否是字符串
is_unicode — Finds whether a variable is a unicode string
以上全是用来检测变量是否为某一种格式的函数,是则返回TRUE,否则返回FALSE。
print_r — 打印关于变量的易于理解的信息。
var_dump — 打印变量的相关信息
这2个不需要介绍了,调试的时候相当的常用。
serialize — 产生一个可存储的值的表示
unserialize — 从已存储的表示中创建 PHP 的值
//一般把上面的函数操作叫做“序列化”与“反序列化”
//需要重点说明的是:serialize() 可处理除了 resource 之外的任何类型。
//天涯PHP博客 http://blog.phpha.com
//最常见的序列化一个数组,最常见的文件缓存方式即利用此函数
$phpha = array('hello', 'world', 'love');
$phpha_s = serialize($phpha);
$phpha_us = unserialize($phpha_s);
echo $phpha_s;
print_r($phpha_us);
?>
//输出如下:
a:3:{i:0;s:5:"hello";i:1;s:5:"world";i:2;s:4:"love";}Array
(
[0] => hello
[1] => world
[2] => love
)
strval — 获取变量的字符串值
$phpha = strval(1);
var_dump($phpha);
?>
//输出如下:
string(1) "1"
unset — 释放给定的变量
//可以简单的理解成“删除”一个变量
//但是并不会“删除”一个变量的引用
$blog = 'http://blog.phpha.com';
$phpha = & $blog;
echo $blog . '
' . $phpha . '
';
unset($blog);
echo $blog . '
' . $phpha . '
';
?>
//输出如下:
http://blog.phpha.com
http://blog.phpha.com
//由于$blog已经被“删除”,所以会有个Notice级别的警告
Notice: Undefined variable: blog in E:\Apache2.2\htdocs\index.php on line 35
http://blog.phpha.com
var_export — 输出或返回一个变量的字符串表示
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
$phpha = array(
'title' => '天涯PHP博客',
'url' => 'http://blog.phpha.com',
'type' => 'WordPress'
);
var_dump($phpha);
print_r($phpha);
var_export($phpha);
?>
//输出如下:
array(3) {
["title"]=>
string(15) "天涯PHP博客"
["url"]=>
string(21) "http://blog.phpha.com"
["type"]=>
string(9) "WordPress"
}
Array
(
[title] => 天涯PHP博客
[url] => http://blog.phpha.com
[type] => WordPress
)
array (
'title' => '天涯PHP博客',
'url' => 'http://blog.phpha.com',
'type' => 'WordPress',
)
floatval — 获取变量的浮点值
get_defined_vars — 返回由所有已定义变量所组成的数组
以上就是摘自PHP手册[7] – Variable变量函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!