zoukankan      html  css  js  c++  java
  • PHP 复习


    第一部分
    一、php基础语法
    输出语句:
    1.echo
    2.print
    3.print_r
    4.var_dump()
    二、php是弱类型语言,自动转换类型
    强制转换类型:
    1.(类型)变量
    2.settype()
    三、变量定义
    $a=5;
    可变变量:$b="a",$$b=10;
    判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型
    判断变量是否为空:empty() isset();
    删除变量:unset();
    四、字符串的定义方式
    1.可以解析变量 解析转义字符
    $str="hello";
    2.不能解析
    $str='hello';
    3.不用担心单引号和双引号的问题
    $str=<<<A
    hello
    A;
    五、运算符与表达式
    六、语句
    分支:1.if 2.switch...case
    循环:1.for 2.foreach 3.while 4.do...while
    七、函数
    四要素:返回类型、函数名、参数类表、函数体
    函数的定义方式
    1.普通的
    function Show()
    {

    }
    2.有参数
    function Show($a)
    {

    }
    3.有返回值
    function Show()
    {
    return $a;
    }
    4.有默认值
    function Show($a=5)
    {

    }
    5.参数可变
    function Show()
    {
    func_get_args();
    }
    八、常用函数
    随机数的:rand(); rand(0,10);
    日期时间:time(); 可以获取当前日期时间戳
    格式化日时间:date(格式化字符串,时间戳); Y年份m月份d天 H24小时制的小时 h12小时制的小时 i分钟s秒
    将字符串转化为时间戳:strotime(表示时间的字符串);
    九、其他
    1.错误抑制符:@
    2.退出程序:1.exit(); exit; 2.die("错误信息");

    第二部分 字符串的常用方法
    1.取字符串长度:strlen();
    2.拆分字符串:explode(); 根据长度拆分字符串:str_split();
    3.合并字符串:implode();
    4.截取字符串:substr();
    5.替换字符串:查找替换:str_replace(); 指定位置替换:substr_replace();
    6.去空格:trim();
    7.转大写:strtoupper();
    8.转小写:strtolower();

    第三部分 正则表达式
    一、定界符:/ /
    二、匹配开头:^ 匹配结束:$
    三、1.数字:d
    2.不可见字符: s
    3.任意数字或单词字符: w
    4.前面的表达式至少出现一次: +
    5.前面的表达式至少出现0次最多出现2次:{0,2}
    6.匹配里面的任意字符:[0,1,2][0-9][a-z]
    7.优先级:()
    8.或:|
    四、拆分字符串:preg_split();
    五、替换字符串:preg_replace();
    六、匹配字符串中出现的(满足正则)数据:preg_match() preg_match_all()

    第四部分 数组
    一、数组分类
    根据维度分:一维数组、多维数组
    根据索引分:索引数组、关联数组
    二、数组定义
    1.常见定义方式:$attr=array();
    2.赋值定义:$attr[]=5;
    3.定义索引数组:$attr=array(1,2,3,4);
    4.定义关联数组:$attr=array("key"=>"value");
    三、取值
    1.索引数组取值:$attr[0];
    2.关联数组取值:$attr["key"];
    四、遍历数组
    1.for循环,只能遍历索引数组
    for($i=0;$i<count($attr);$i++)
    {
    $attr[$i];
    }
    2.foreach遍历,可以遍历索引和关联数组
    foreach($attr as $v)
    {
    $v;
    }
    foreach($attr as $k=>$v)
    {
    $v;
    }
    3.each()和list()方法结合
    each():返回数组里面当前元素的key和value值,返回的是一个数组的形式
    list():将右侧数组的值分别赋给一组变量 list($a,$b)=$attr;
    4.指针遍历
    取当前指针指向的元素的值:current();
    取当前指针指向的元素的key:key();
    将指针指向下一个元素:next();
    将指针指向上一个元素:prev();
    重置指针:reset();
    将指针指向最后一个元素:end();
    五、数组的常用函数
    取数组长度:count();
    向数组添加元素:array_push();
    判断数组里是否包含某个元素:in_array();
    合并数组:array_merge();
    去重复:array_unique();
    删除数组元素:unset();
    重新索引:array_values();
    翻转数组:array_reverse();
    数组元素排序:array_multisort();

    第五部分 面向对象 OOP
    一、类和对象 类是由众多对象抽象出来的,对象是由类实例化出来的
    二、类的定义 class Ren{}
    成员变量 成员方法 构造函数 析构函数 _get() _set() _tostring() _clone()
    三、访问修饰符
    1.公有的 public
    2.私有的 private
    3.受保护的 protected
    四、三大特性
    1.封装
    目的:让类更加安全,不让外界直接访问类里面的成员变量
    做法:1.把成员变量变成私有
    2.做一个方法来实现变量的取值或赋值,在里面加限制条件
    2.继承
    概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到)
    在定义子类的时候需要加一个关键字:extends
    特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类
    如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
    子类对父类方法的重写:在子类中写一个同样的方法
    3.多态
    概念:当父类引用指向子类实例的时候,由于子类对父类函数进行了重写,导致我们在使用该引用去调用相应的方法表现出的不同
    条件:1.必须有继承
    2.子类必须要对父类的方法进行重写
    五、静态:static 静态成员是属于类的,普通成员是属于对象的 Ren::Show();
    六、抽象类:abstract 不能被实例化 用作父类
    接口:interface 应省掉class关键字,可以定义方法不用写函数体,继承自这个接口的子类必须实现里面所有的方法
    七、克隆对象 clone
    八、构造函数 _construct()
    1.写法特殊
    2.执行时间特殊
    九、加载类
    出现错误继续执行
    include("");
    include"";
    出现错误停止执行
    require("");
    require"";
    require_once("");
    require_once"";
    自动加载类 _autoload()
    十、单列模式
    只能生成一个对象
    十一、工厂模式

    第六部分 数据访问
    一、mysqli
    $db=new MySQLi(服务器,用户名,密码,数据库);
    mysqli_connect_error();
    $result=$db->query(sql语句);返回结果集
    $result->fetch_row();读数据
    二、pdo
    $pdo=new PDO(DNS,用户名,密码);
    $stm=$pdo->prepare(sql语句);
    $stm->excute();
    $stm->fetch_row();
    占位:1.? (索引) 2.:字符串(关联)

    第七部分 Jquery Ajax
    一、选择器:$()
    1.根据id选 $("#id") 返回一个Jquery对象 从Jquery对象里去DOM对象 取索引0[0]
    2.根据class选 $(".class")
    3.根据属性选 $("[name=a]")
    4.根据标签名选 $("div")
    二、操作内容
    1.操作非表单元素
    文本 text();
    html代码 html();
    2.操作表单元素
    val();
    三、操作属性
    1.添加设置属性 attr(属性名,属性值);
    2.获取属性 attr(属性名);
    3.移除属性 removeAttr(属性名); 注意A大写
    四、操作样式
    1.获取样式 css(样式名);
    2.添加设置样式 css(样式名,样式值);
    五、事件
    1.$("#id").事件名(function(){})
    2.绑定事件 $("#id").bind(事件名,function(){});
    3.移除事件 $("#id").unbind(事件名);
    六、Ajax
    1.异步 下面代码继续执行 async:
    2.同步 全部执行完下面才可以继续执行
    data:传递的数据JSON格式
    type:数据的传递方式 POST或GET
    dataType:返回数据类型 TEXT JSON XML (注意T大写)
    success:回调函数
    error:当调用出错时执行的方法
    七、JSON
    {key:value}
    XML特点:必须有一个根,有开始就要结束(标签完整),大小写敏感,标签名可以自定义,可以加属性
    八、会话控制
    SESSION特点:存储在服务器,有默认过期时间,每个用户存一份,可以存储任何类型的数据,必须开启才能使用 session_start(); 必须写在第一行。安全,占资源
    COOKIE特点:存储在客户端,默认没有过期时间,每个用户存一份,只能存储字符串。不安全,不占资源
    设置:setcookie(名,值);
    读取:$_COOKIE["uid"];

    第八部分 文件
    一、文件上传
    1.做文件上传表单 enctype
    2.数组取文件信息 $_FILES[]
    3.控制格式和大小
    4.造存储路径(处理文件名) 方法一:该文件名 方法二:建文件夹
    5.判断文件是否存在
    6.上传保存 move_uploaded_file();
    7.转换编码格式 iconv(原编码,目标编码,字符串);
    二、文件操作
    1.文件类型: filetype() is_file() is_dir()
    2.路径: ./ ../ /
    3.遍历目录:方法一:glob(); 方法二:目录资源(注意把.和..去掉)
    4.新建目录:mkdir();
    5.删除目录:rmdir();
    6.移动目录:rename();
    7.新建文件:touch();
    8.删除文件:unlink();
    9.复制文件:copy();
    10.获取文件内容:file_get_contents();
    11.写入内容:file_put_contents();
    12.文件资源
    打开文件资源:fopen();
    关闭文件资源:fclose();
    读取文件内容:fgetc();一个字符 fgets();一行 fread();指定长度 fwrite();

  • 相关阅读:
    sql server 修改/查看 主键初始值
    国内外邮箱正则验证及js示例
    修改表中主键 标识/初始值
    主角场景Shader效果:遮挡透明
    主角场景效果:人物阴影
    主角场景Shader效果:描边
    主角场景Shader效果:光影
    Unity ZTest深度测试 & ZWrite深度写入
    天气系统:雨、雪
    UnityShader 序列帧动画效果
  • 原文地址:https://www.cnblogs.com/yy01/p/5641004.html
Copyright © 2011-2022 走看看