您的位置:首页 > 其它

一些常用的函数(不断总结中)

2012-12-10 09:23 465 查看
1.set_time_limit(0)

// set_time_limit(0) 设置程序执行时间的函数
//括号里边的数字是执行时间,如果为零说明永久执行直到程序结束,
//如果为大于零的数字,则不管程序是否执行完成,到了设定的秒数,程序结束。

set_time_limit(1); //1秒程序没执行完,就报错

for($a=0;$a<10000000000;$a++){}


2.preg_replace

$a="dss!@#$%^&-.";
//  返回替换后的$a [^0-9a-zA-Z_@!\.-] 非 数字,字母,_@!.-(特殊字符) 匹配.要转义用\.
$b=preg_replace("/[^0-9a-zA-Z_@!\.-]/","",$a);
echo $b;


3.getcwd()

//getcwd() 函数返回当前目录。
//若成功,则返回当前工作目录,否则返回 false。
echo getcwd();//E:\wamp\www\Text


4.get_class
//获得类名
//实例1
/*class Admin{
function __construct(){
echo get_class($this); //Admin
}
}
$index=new Admin();
*/

//实例2
/*class Admin{
protected function __construct(){
echo get_class($this);  //Login
}
}

class login extends Admin{
public function __construct(){
parent::__construct();
}
}

$login=new login();
*/

//实例3
class Admin{
protected function cc(){
echo get_class($this);
}
}

class Index extends Admin{
public function bb(){
//parent::cc(); //Index
$this->cc();  //Index
}
}
$index=new Index();
$index->bb();


5.fread
//例1:从文件中读取 10 个字节:
$file = fopen("test.txt","r"); //r读的方式打开
fread($file,"10");
fclose($file);

//例2读取整个文件:
$file = fopen("test.txt","r");
fread($file,filesize("test.txt"));
fclose($file);


6.
/*
array_merge和+区别
1.键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把
最先出现的值作为最终结果返回,而把后面的数组拥有相同见名的那些值抛弃掉

2.键名为字符时,+仍然把最先出现的值作为最终结果返回,
而把后面的数组拥有相同键名的那些值"抛弃"掉,但array_merge()此时会覆盖掉前面相同键名的值
*/

$a = array('a','b');
$b = array('c','d');
var_dump($a+$b); // $a的值
var_dump($b+$a); // $b的值
var_dump(array_merge($a,$b)); //array('a','b','c','d');
var_dump(array_merge($b,$a)); //array('c','d','a','b');

echo '<hr/>';

$a = array('name'=>'lemon','sex'=>'gender');
$b = array('name'=>'tom','sex'=>'gender');
var_dump($a+$b); // $a的值
var_dump(array_merge($a,$b));//$b的值


7.array_filter 去除数组中的空值
<?php

function filter($val){
if ($val == '') {
return false;
} else {
return true;
}
}

$arr = array('red','blue','green', '', 'cyan', '', 'gray');
var_dump(array_filter($arr));
?>

?
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);

print_r(array_filter($entry));

foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:

PHP代码

?
<?php
foreach ($arr as $k => $v) {
if (!$v) {
unset($arr[$k]);
}
}
?>


8.$_SERVER["REQUEST_TIME"]和 time()

time -- 返回当前的 Unix 时间戳
说明
int time ( void )

返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数.
会调用函数,慢.

$_SERVER["REQUEST_TIME"]:请求开始时的时间戳。从 PHP 5.1.0 起有效。
不用调用函数.

总结: $_SERVER[REQUEST_TIME]替换time();


9.microtime
通俗的说,带参数true表名只返回一个浮点数(即秒数)
不带参数返回一个微秒+秒的字符串
<?php
echo microtime();
echo '<br/>';
echo microtime(true);
?>
结果如下:
0.00000600 1283757623
1283757623
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: