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(" ", "&nbsp;", $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("常量");//判断常量是否存在

16、能够在$_SERVER中访问的最重要的元素
  
 
17、静态局部变量的特点:
     1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
     2.静态局部变量只会初始化一次
     3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
     4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。

18、PHP取整函数:ceil,floor,round,intval的区别详细解析

  我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。

  ceil -- 进一法取整
  说明
  float ceil ( float value )
  返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
  PHP取整函数例子 1. ceil() 例子
echo ceil(4.3);  // 5 
echo ceil(9.999); // 10
  floor -- 舍去法取整  
  说明
  float floor ( float value )
  返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
  PHP取整函数例子 1. floor() 例子
echo floor(4.3); // 4 
echo floor(9.999); // 9
  round -- 对浮点数进行四舍五入
   float round ( float val [, int precision] )
  返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
  PHP取整函数例子 1. round() 例子
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
  intval---对变数转成整数型态
  PHP取整函数例子intval()
echo intval(4.3);//4
echo intval(4.6);//4
19、获取系统常量
<?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
20、php遍历数组时     while() 通常和 list(),each()配合使用。   
$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
    list的用法:  
<?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 
21、获取内存使用情况信息    memory_get_usage() 函数获取当期内存使用情况,memory_get_peak_usage() 函数获取内存使用的峰值23、获取CPU使用情况信息 
获取了内存使用情况,也可以使用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万,并把它添加到秒的值后,可以得到有小数部分的秒数。
  
posted @ 2014-11-24 19:04  冷暖自知一抹茶ck  阅读(297)  评论(0编辑  收藏  举报