自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Redis List命令

lPush添加一个字符串值到LIST容器的顶部(左侧),如果KEY存在并且不是一个LIST容器,那么返回FLASE,如果成功返回List容器最新长度$redis->delete('key1');$redis->lPush('key1', 'C'); // returns 1$redis->lPush('key1', 'B'); // returns 2$redis->lPush(

2017-09-28 17:48:47 645

原创 Redis String命令

set设置值到KEY返回true或者false$redis->set('key', 'value');get取得与制定的键值相关联的值key不存在返回false,key存在返回关联的值$redis->get('key');getSet设置一个value并且返回该key当前的value$redis->set('x', '42');$exValue =

2017-09-28 16:29:24 329

原创 PHP数组函数

array_diff(array1,array2,array3...)返回两个数组的差集数组(只比较键值)array_diff_assoc(array1,array2,array3...)返回两个数组的差集数组(比较键名和键值)array_diff_key(array1,array2,array3...)返回两个数组的差集数组(只比较键名)array_flip(array)

2017-09-12 16:43:13 270

原创 PHP字符串函数

bin2hex(string)把ASCII字符串转换为十六进制值hex2bin(string)把十六进制的字符串转换为ASCII字符explode(separator,string,limit)把字符转打散为数组implode(separator,array)返回由数组元素组成的字符串htmlspecialchars(string,flags,character-s

2017-09-12 12:51:57 778

原创 PHP排序算法

各种排序的稳定性,时间复杂度和空间复杂度总结:比较时间复杂度:冒泡排序1,比较相邻的元素。如果第一个比第二个大,就交换他们两个2,对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这样,最后的元素应该是最大的数3,针对所有的元素重复以上的步骤,除了最后一个4,持续每次对越来越少的元素重复上面的步骤,知道没有任何一个数字需要比较效果图:代码...

2017-09-12 10:53:48 339

原创 PHP递归

递归递归是一种函数调用自身的机制。递归必须要有边界条件,也就是递归出口(退出递归)递归前进段和递归返回段,也就是最后得到的值当边界条件不满足时,递归前进;当边界条件(递归出口)满足时,递归返回。例1:斐波那契数列1,1,2,3,5,8,13,21......例2:目录的递归遍历例3:无限分类例4:约瑟夫环例5:二分查找和合并排序例6:猴子吃桃:每天吃

2017-09-12 10:48:18 2250

转载 PHP无限级分类

$categories = array( array('id'=>1,'name'=>'电脑','pid'=>0), array('id'=>2,'name'=>'手机','pid'=>0), array('id'=>3,'name'=>'笔记本','pid'=>1), array('id'=>4,'name'=>'台式机','pid'=>1),

2017-09-12 09:25:09 276

原创 PHP正则

元字符注意:1,当我们要匹配这些元字符的时候,我们需要用到字符转移字符,正则表达式里面用\来表示转义,如匹配.符号,则需要用\.2,连续的数字或字母可以用-符号连接起来,如[1-5]匹配1-5这5个数字。重复,限定符分枝分枝是指制定几个规则,如果满足任意一种规则,则都当作匹配成功。具体就是用|符号把各种规则分开,且条件从左至右匹配由于分支

2017-09-11 16:19:01 397

原创 PHP运算符优先级

下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序例1:||与=$a=0;$b=0;if($a=3||$b=3){ $a++; $b++;}echo $a;//输出1echo $b;//输出1解释:1,从上图可以看出逻辑运算符||的优先级高于赋值运算符=2,在if条件判断时,实际是$a=(

2017-09-08 18:30:33 538

原创 PHP的类,abstract类,interface及关键字extends和implements

PHP类PHP类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了abstract用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。抽象方法是只有方法声明,而没有方法的实现内容。抽象类不能被实例化,通常是将抽象方法做为子类方法重写使用的,且要把继承的抽象类里的方法都实现。abstra

2017-09-07 15:27:55 1846

原创 PHP的魔术方法

PHP中有很多魔术方法:__construct,__destruct,__call,__callStatic,__get,__call,__isset,__unset,__sleep,__wakeup,__toString,__set_state,__clone,__autoload1、__get,__set这两个方法是为在当前类和他们的父类中没有声明的属性而设计的__ge

2017-09-07 12:10:16 177

原创 PHP的continue、break、goto、exit和die的用法

continuecontinue是用来在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃一次循环。如果在非循环结构中(如if、switch中)适用continue,程序将会出错。例:for($i=1;$i<100;$i++){ if($i/3==0||$i%7==0){

2017-09-06 15:27:02 1078

转载 PHP中的private、protected、public

各修饰符调用权限 privateprotectedpublic本类YYY子类NYY外部NNY例:class Human{ private $name = 'Tom'; protected $money = 3000; public $a

2017-09-06 14:12:09 306

转载 PHP的单例模式

单例模式:单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是一种常见的设计模式,在计算机系统中,线程池,缓存,日志对象,对话框,打印机,数据库操作,显卡的驱动常被设计成单例单例模式分3种:懒汉式单例,饿汉式单例,登记式单例。特点:1.只能有一个实例2.必须自行创建这个实例3,必须给其他对象提供这一实例场景:PHP一

2017-09-06 12:03:04 178

原创 PHP的简单工厂模式

简单工厂:简单工厂模式是有一个工厂对象决定创建出哪一种产品类的实例。优点:模式的核心是工厂类。这个类含有必要的逻辑判断,可以决定在什么时候创建哪一个实例,而调用者则可以免去直接创建对象的责任。简单工厂模式通过这种做法实现了对责任的分割,当系统引入新的类的时候无需修改调用者。缺点:这个工厂类集中了所有的创建逻辑,当有负责的多层次等级结构时,所有的业务逻辑都在这

2017-09-06 09:56:38 203

原创 PHP中static的用法

在变量前面加上static就构成了静态变量在全局变量前面加上static就构成了全局静态变量static变量和普通变量的区别:1,非静态全局变量作用域是这个源程序,当一个源程序有多个源文件组成时,非静态的全局变量在各种源文件都是有效的。2,静态全局变量限制了其作用域,即只在定义该变量的源文件内有效3,static局部变量只会被初始化一次,下一次依据上一次结果值4,stati

2017-09-05 18:59:54 244

原创 PHP中global的用法

PHP作用域:全局环境和局部环境彼此独立隔离,互相不能访问各自里面的变量。这里我们首先要明白一个知识点:global $a是外部$a的同名引用从下面这个例子我们可以看出:$GLOBALS['a']是外部的全局变量$a本身$a = 1;function test(){ unset($GLOBALS['a']);}test();echo $a;什么都没输出,

2017-09-05 18:33:07 3528

原创 1024!结尾有多少个0

1024!结尾有多少个0?如题,我们只需考虑1024有多个5的倍数,1024/5=204;同时还要注意到1024有多少个25的倍数,1024/25=40;同理,1024/125=8;1025/625=1;故1024!结尾有204+40+8+1=253

2017-09-05 09:21:32 373

转载 CSRF攻击和防范

csrf(Cross Site Request Forgery)跨站请求伪造csrf攻击能够实现依赖于这样一个简单的事实:用户在浏览器打开多个浏览器页签,假如用户登录一个站点A,站点A通过cookie来跟踪用户的回话,假如站点A的一个页面siteA-page.php被站点B知道了,而这个页面的地址以某种方式潜入到了B站点的一个页面siteB-page.php中,如果这是用户在保持A

2017-09-04 18:34:25 192

转载 XSS攻击和防范

XSS又叫CSS(Cross Site Script),跨站脚本攻击。它指的是恶意攻击者往web页面里插入恶意html代码,当用户浏览该页面时,嵌入其中web里面的html代码会被执行,进而达到攻击的目的PHP防范:1,PHP直接输出html的,可以采用以下方法过滤:htmlspecialchars函数,该函数会将预定义的字符""和"&"转换成HTML实体,实体

2017-09-04 17:58:38 380

原创 mysql注入原理及防范

SQL注入原理SQL注入漏洞存在的原因,就是拼接SQL参数例:参数为id$sql = 'select * from test where id='.$_GET['id'];正常输入2则sql为:select * from test where id=2;只会查出id为2的记录黑客输入2 or 1=1则sql为select * from test where

2017-09-04 17:21:12 1420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除