PHP知识点

PHP出现的错误类型

        1、Notice                     通知

          2、Warning                  提醒

          3、Fatal error               致命错误,导致程序挂掉

          4、Notice和warning       都是针对变量未定义

          5、undefined variables      普通变量

          6、undefined index            数组

PHP强制类型转换:

           $str='123';                                    //字符串

           $arr=(array) $str;                        //数组

禁止请求同一动态文件浏览器生成缓存

          1、header头设置

          2、地址后面加随机数

无缝滚动案例

         图片放在li,ul设置绝对定位。计时器让ul的offsetLeft增加,当left负值大于ul的负的一半宽度时。left=0;(ul里图片要复制成两份)

城市级联

         1、顶级id=0

         2、pathinfo:0-1(0=顶级,1为id)

带颜色随机验证码

         $code='ABCDEFG.......';

        $str="<span style='color:rgb(".mt_rand(0,255).",".mt_rand(0,255).",".mt_rand(0,255).")'>".$code{mt_rand(0,strlen($code)-1)}."</span>";

遮罩层案例

         1、两个div隐藏

         2、两个div=position:absolute         //脱离文本流

         3、z-index(101)                            //层叠显示,值越大,越靠上

         4、大div:宽高=100%,left:0;top:0;z-index:100;

         5、小div:top:30%;left:30%;heigth:40%;width:40%;z-index:101;

         6、opacity=最大1||filter:Alpha(opacity=最大100)           //不透明度

百度UM编辑器

         1、下载下来插件

         2、把文本域样式都去掉,命名对应id

         3、把需要的js文件在header头引入过来。

         4、只需要把对应设置id的那两句代码复制过来就可以

         5、过滤xss攻击,保留编辑器中的一些安全html代码可以用Htmlpurifier软件(性能差,少用)

Cookie加密

         存储cookie先把数据序列化一下,然后再用base64_encode()数据加密再存储。

         为了防止自制cookie误入,可在七天免登陆后判断session的时候重新利用数据查下数据库。

 递归分父子级

         function getSon($cate,$pid=0){

              $arr=array();                                             //定义一个空数组

              foreach($cate as $k=>$v){                       //遍历数组

                  if($v['pid']==$pid){                               //如果是父级

                     $son=getSon($cate,$v['son_id']);       //把此父级下面的子级筛选出来

                     if(!empty($son)){                               //并且子级不为空,放入这条数据中

                         $v['son']=$son;

                     }

                     $arr[$k]=$v;                                       //把分好父子级的数据放入空数组

                  }

              }

              return $arr;                                                //闭合数组,并返回。

         }

递归归类排序

         function getDesc($arr,$pid=0,$lever=0){

              static $loo=array();                              //可以是静态或全局,因为函数执行完一次变量就释放

              foreach($arr as $k=>$v){

                   if($v['pid']==$pid){

                       $v['lever']=$lever;

                   }

                   $loo[]=$v

                   getDesc($arr,$v['pid'],$lever+1);

              }

              return $loo;

         }

引用返回:

         function &test(){

            static $b=6;          //必须是静态

            return $b;            //静态变量必须return

         }

         $a=&test();                 //执行函数

         $a=??;                        //修改a的值,b也随着改;再执行就是获取修改后的值

解决TP雪崩问题:

      当静态文件消失一瞬间,如果有多个用户同时访问网站,服务器性能差,有可能会崩。

      解决:在ThinkPHP源包 -> Behavior -> ReadHtmlCacheBehvior.class.php判断静态文件存在位置后面加文件排他锁。

       复制一份判断静态文件是否存在的代码写在文件锁后面(因为同时访问时,都通过了第一个判断,第一个执行文件锁的用户去生成静态文件,其他用户堵在锁的位置。第一个用户程序走完,锁消失。其他用户执行第二段判断,静态文件存在。防止堵塞用户也去生成静态文件。)

      注:文件锁的变量要声明全局变量,因为不是全局变量,方法执行完变量就释放了。

屏蔽php错误信息:

            http://www.jb51.net/article/27560.htm

dos运行php文件:

    把 php.exe拖进dos;空格;把执行文件拖进dos,回车执行;

switch选择结构:

    switch($str){

        case "":{}     ;break;             //如果是这个值,做一些操作

        default:{}     ;break;             //如果是默认值。 

    }

冒泡排序:

    利用循环。把要比较数组循环两遍

    先定义空变量,临时存放值,交换比较的两个值。

                  $tmp=$arr[$i];

                  $arr[$i]=$arr[$j];

                  $arr[$j]=$tmp;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值