tip
php在脚本中,设置执行的最大时间:ini_set("max_execution_time", 0); // s
php设置中国时区:date_default_timezone_set('PRC');
1、返回上次地址栏里的地址:
$_SERVER['HTTP_REFERER'] $_SERVER["REQUEST_URI"] ,REQUEST_URI的作用是取得当前的URI,也就除域名外后面的完整的地址路径 当前页为:http://www.php100.com/home.php?id=23&cid=22 echo $_SERVER["REQUEST_URI"] 结果为:home.php?id=23&cid=22 返回上一个页面的状态:echo "<script language=\"javascript\">alert('添加成功');history.go(-1)</script>";
2、div 如何加滚动条:给DIV限定宽度或高度,并指定overflow样式为auto,这样当内空超出后就会自动出现滚动条了.如
<div style="width:100px; height:100px; overflow:auto; border:1px solid #000000;"> <img src="" style="width:300px; height:300px;"> </div>
3、uniqid — 生成一个唯一ID 获取一个带前缀、基于当前时间微秒数的唯一ID。
4、mb_substr — 获取字符串的部分 用在截取标题、截取描述显示
echo mb_substr('我们都是好孩子hehe',0,9); 输出:我们都 echo mb_substr('我们都是好孩子hehe',0,9,'utf-8'); 输出:我们都是好孩子he
第一个是以三个字节为一个中文,这就是utf-8编码的特点,下面加上utf-8字符集说明,所以,是以一个字为单位来截取的
5、strip_tags — 从字符串中去除 HTML 和 PHP 标记
6、识别出空格、换行符【把空格、换行转换为HTML可解析的。 str_replace( 被替换的值,替换的值,被替换的内容)】
function htmtocode($content) { $content = str_replace("\n", "<br>", str_replace(" ", " ", $content)); return $content;
}
7、parse_url() 是讲URL解析成有固定键值的数组的函数
8、使用PHP cookie 当场不能生效,需要刷新一次
9、range() 函数创建并返回一个包含指定范围的元素的数组
$arr=range('A','Z');
等同于: $arr=array(A,B,C,D,E,F,G,H,I,J,K,L,M,N,....Z);
10、rand() 函数返回随机整数。
rand(1,100); //85
12、允许的强制转换有:
(int), (integer) - 转换为 整型(integer)
(bool), (boolean) - 转换为 布尔型(boolean)
(float), (double), (real) - 转换为 浮点型(float)
(string) - 转换为 字符串(string)
(binary) - 转换为二进制 字符串(string) (PHP 6)
(array) - 转换为 数组(array)
(object) - 转换为 对象(object)
(unset) - 转换为 NULL (PHP 5)
13、变量类型测试函数
is_bool();//判断是否为布尔型
is_int() is_integer() //判断是否是整型
is_float(), is_double() is_real()//...
is_array()
is_object()
is_resource()
is_null()
is_scalar()//判断是否是标量(字符串、整型、浮点型、布尔型)
is_numberic()//判断是否是任何一种数字,或数字字符串
is_callable()//判断是否是有效的函数名
14、与变量和类型有关的一些常用函数
isset();//判断一个变量是否存在,值如果是null也表示空。
empty();//判断一个变量是否为空 "",null
unset();//删除一个变量
setType();//设置一个变量类型
getType();//获取一个变量类型 var_dump();获取类型和值
PHP的isset()函数 一般用来检测变量是否设置:
功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
PHP的empty()函数 判断值为否为空:
功能:检查一个变量是否为空
返回值:
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
isset()用来检测变量是否设 置,只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。(注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数)
empty()用来检查一个变量是否为空。
他们之间最大的区别就是对于0的判断,若用empty判断会认为是空,用isset则认为不为空
15、常量的声明与使用
1.常量是一个简单值的标识符
2.常量定义后不能再改变它的值,也不能使用unset()或其他的函数取消
3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问
4.常量使用define("常量名",值);
5.常量名在声明和使用时都不使用"$"
6.常量名称习惯都使用大写
7.常量的值只能用标量类型(int,float,bool,string)
8.常量一定要在声明时就给值
9.defined("常量");//判断常量是否存在
18、PHP取整函数:ceil,floor,round,intval的区别详细解析
我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。
说明
float ceil ( float value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
echo ceil(4.3); // 5 echo ceil(9.999); // 10
说明
float floor ( float value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
echo floor(4.3); // 4 echo floor(9.999); // 9
echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.05 echo round(5.055, 2); // 5.06
echo intval(4.3);//4 echo intval(4.6);//4
<?php echo "当前文件路径: ".__FILE__; //当前文件路径: E:\wamp\www\test.php echo "<br>当前行数:".__LINE__; //当前行数:12
目录 (__DIR__),函数名 (__FUNCTION__),类名(__CLASS__),方法名(__METHOD__)
echo "<br>当前PHP版本信息:".PHP_VERSION; //当前PHP版本信息:5.5.12 echo "<br> 当前操作系统: ".PHP_OS ; //当前操作系统: WINNT
$colors = array('red','blue','green','yellow'); while(list($key,$val) = each($colors)) { echo "Other list of $val.<br />"; } 显示结果: Other list of red. Other list of blue. Other list of green. Other list of yellow
<?php $colors = array('red','blue','green','yellow'); list($a,$b,$c,$d)=$colors; echo $a,"<BR>",$b,"<BR>",$c,"<BR>",$d; 显示结果: red blue green yellow
获取了内存使用情况,也可以使用PHP的 getrusage()获取CPU使用情况,该方法在windows下不可用。
print_r(getrusage());
/* 输出
Array
(
[ru_oublock] => 0
[ru_inblock] => 0
[ru_msgsnd] => 2
[ru_msgrcv] => 3
[ru_maxrss] => 12692
[ru_ixrss] => 764
[ru_idrss] => 3864
[ru_minflt] => 94
[ru_majflt] => 0
[ru_nsignals] => 1
[ru_nvcsw] => 67
[ru_nivcsw] => 4
[ru_nswap] => 0
[ru_utime.tv_usec] => 0
[ru_utime.tv_sec] => 0
[ru_stime.tv_usec] => 6269
[ru_stime.tv_sec] => 0
)
*/
这个结构看上出很晦涩,除非你对CPU很了解。下面一些解释:
ru_oublock: 块输出操作
ru_inblock: 块输入操作
ru_msgsnd: 发送的message
ru_msgrcv: 收到的message
ru_maxrss: 最大驻留集大小
ru_ixrss: 全部共享内存大小
ru_idrss:全部非共享内存大小
ru_minflt: 页回收
ru_majflt: 页失效
ru_nsignals: 收到的信号
ru_nvcsw: 主动上下文切换
ru_nivcsw: 被动上下文切换
ru_nswap: 交换区
ru_utime.tv_usec: 用户态时间 (microseconds)
ru_utime.tv_sec: 用户态时间(seconds)
ru_stime.tv_usec: 系统内核时间 (microseconds)
ru_stime.tv_sec: 系统内核时间?(seconds)
要看到你的脚本消耗了多少CPU,我们需要看看“用户态的时间”和“系统内核时间”的值。秒和微秒部分是分别提供的,您可以把微秒值除以100万,并把它添加到秒的值后,可以得到有小数部分的秒数。