欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

摘自PHP手册[7] – Variable变量函数

程序员文章站 2022-04-29 23:35:28
...
简介:本次介绍的是PHP手册中与变量相关的一些系统函数,下面天涯把最常用的进行详细说明。

empty — 检查一个变量是否为空
“”、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的【天涯注:这个貌似有问题?】
isset — 检测变量是否设置
is_null — 检测变量是否为 NULL
下面是本地环境测试结果:Apache2.2/MySQL5.5/php-5.2.17




<?php
//天涯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 '<br />';
echo empty($var2) ? 'empty | ' : 'not empty | ';
echo is_null($var2) ? 'is_null | ' : 'not is_null | ';
echo isset($var2) ? 'isset' : 'not isset ';
echo '<br />';
echo empty($var3) ? 'empty | ' : 'not empty | ';
echo is_null($var3) ? 'is_null | ' : 'not is_null | ';
echo isset($var3) ? 'isset' : 'not isset ';
echo '<br />';
echo empty($var4) ? 'empty | ' : 'not empty | ';
echo is_null($var4) ? 'is_null | ' : 'not is_null | ';
echo isset($var4) ? 'isset' : 'not isset ';
echo '<br />';
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)类型




<?php
$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;




<?php
$var1 = 10.898;
$var2 = 'hello';
$var3 = '22hello';
echo intval($var1) . '<br />';
echo intval($var2) . '<br />';
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>
//天涯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 — 获取变量的字符串值




<?php
$phpha = strval(1);
var_dump($phpha);
?>
//输出如下:
string(1) "1"


unset — 释放给定的变量




//可以简单的理解成“删除”一个变量
//但是并不会“删除”一个变量的引用
<?php
$blog = 'http://blog.phpha.com';
$phpha = & $blog;
echo $blog . '<br />' . $phpha . '<br />';
unset($blog);
echo $blog . '<br />' . $phpha . '<br />';
?>
//输出如下:

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 代码。




<?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)!