PHP常用函数
2012-07-06 18:23
281 查看
isset函数是检测变量是否设置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
获取当前时间
日期加减法
读取文件,支持页面抓取
取整,非四舍五入
foreach用法
分割字符串
输出
分页算法,计算总页数
$total_page=floor(($total_records+$page_size-1)/$page_size)
上传文件
获取文件绝对路径
SESSION
SESSION可存放数组及对象
strip_tags() 函数
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
echo strip_tags("Hello <b>world!</b>");
sprintf() 函数
语法
sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
说明
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
%% - 返回百分比符号
%b - 二进制数
%c - 依照 ASCII 值的字符
%d - 带符号十进制数
%e - 可续计数法(比如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数(local settings aware)
%F - 浮点数(not local settings aware)
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
Hello world. Day number 123
123.00
microtime()
microtime() 函数返回当前 Unix 时间戳和微秒数。
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
0.25139300 1138197510
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
<?php $var = '';if (isset($var)) {print "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 ?>
<?php $a = array ('test' => 1, 'hello' => NULL); var_dump( isset ($a['test') ); // TRUE var_dump( isset ($a['foo') ); // FALSE var_dump( isset ($a['hello') ); // FALSE // 'hello' 等于 NULL,所以被认为是未赋值的。 // 如果想检测 NULL 键值,可以试试下边的方法。 var_dump( array_key_exists('hello', $a) ); // TRUE ?>
获取当前时间
date_default_timezone_set('PRC'); //获取当前时间比格式化 echo date('Y-m-d H:i:s',time()); //获取当前时间戳 echo time();
日期加减法
//将时间点转换为时间戳 $date = strtotime (date("Y-m-d")); //输出一天前的日期,在时间戳上减去一天的秒数 $day = date ( 'Y-m-d', $date + 1 * 24 * 60 * 60 );
读取文件,支持页面抓取
file_get_contents($url);
取整,非四舍五入
floor(3.5)
foreach用法
foreach ( $rs as $k => $v ) { echo $k.' '.$v; }
foreach ($arr as $value){ echo $value; }
分割字符串
$str = "Hello world. It's a beautiful day."; print_r (explode(" ",$str));
输出
Array ( [0] => Hello [1] => world. [2] => It's [3] => a [4] => beautiful [5] => day. )
分页算法,计算总页数
$total_page=floor(($total_records+$page_size-1)/$page_size)
上传文件
<form name="form1" action="index.php" method="post" enctype="multipart/form-data"> <input type="file" name="pic"/> </form> //获取文件类型 $filetype = $_FILES['pic']['type']; //获取临时文件名 $temp = $_FILES['pic']['tmp_name']; //判断文件类型是否为图片 if($filetype == 'image/gif' || $filetype == 'image/jpeg' || $filetype == 'image/pjpeg'){ //重命名并保持文件 $suffix_arr = explode('.',$_FILES["pic"]["name"]); $count_arr = count($suffix_arr); $suffix = $suffix_arr[$count_arr-1]; $path = "upload/" . date('YmdHis',time()) . '.' . $suffix; move_uploaded_file($_FILES["pic"]["tmp_name"],$path); }else{ echo '只能上传图片'; }
获取文件绝对路径
echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
SESSION
SESSION可存放数组及对象
strip_tags() 函数
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
echo strip_tags("Hello <b>world!</b>");
sprintf() 函数
语法
sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
说明
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
%% - 返回百分比符号
%b - 二进制数
%c - 依照 ASCII 值的字符
%d - 带符号十进制数
%e - 可续计数法(比如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数(local settings aware)
%F - 浮点数(not local settings aware)
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
<?php $str = "Hello"; $number = 123; $txt = sprintf("%s world. Day number %u",$str,$number); echo $txt; ?>输出
Hello world. Day number 123
<?php $number = 123; $txt = sprintf("%.2f",$number); echo $txt; ?>输出
123.00
microtime()
microtime() 函数返回当前 Unix 时间戳和微秒数。
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
<?php echo(microtime()); ?>输出
0.25139300 1138197510