• php 复习


    <?php

    一.php基础语法
    1.输出语句:echo print print_r var_dump()

    2.php是弱类型语言
    强制转换类型: (类型)变量 settype(变量,类型)

    3.变量定义
    $a = 5;
    可变变量:$b="a"; $$b =10;
    判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型
    判断变量是否为空:empty() isset();
    删除变量:unset();

    4.字符串的定义方式
    $str = "hello"; 可以解析变量 解析转义字符
    $str = 'hello'; 不能解析
    $str = <<<A
    hello
    A; 不用担心单引号和双引号的问题

    5.运算符与表达式

    6.语句
    分支:if switch...case
    循环:for foreach while do...while

    7.函数
    四要素:返回类型,函数名,参数列表,函数体
    函数的定义方式:
    function Show() 普通的
    {
    }
    function Show($a) 有参数的
    {
    }
    function Show() 有返回的
    {
    return $a;
    }
    function Show($a=5) 有默认值的
    {
    }
    function Show() 参数可变的
    {
    func_get_args();
    }

    8.常用的函数
    随机数的:rand(); rand(0,10);
    日期时间:time(); 可以获取当前日期时间戳
    date(格式化字符串,时间戳); 格式化日期时间的 Y年份 m月份 d天 H24小制的小时 h12小时制的小时 i分钟 s秒
    strtotime(表示时间字符串); 将字符串转化为时间戳

    9.其它
    错误抑制符 @
    退出程序:exit(); exit; die("错误信息");

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

    三:正则表达式
    1.定界符:/ /
    2.匹配开头:^ 匹配结束 $
    3.d 数字 s 不可见字符 w任意数字或单词字符 +前面的表达式至少出现一次
    {0,2}前面的表达式至少出现0次最多出现2次 [0,1,2]匹配里面的任意字符 [0-9] 匹配0-9之间的数字 [a-z]匹配a-z之间的单词字符 ()优先级 |或

    4.拆分字符串:preg_split();
    5.替换字符串:preg_replace();
    6.匹配字符串中出现的(满足正则)数据:preg_match() preg_match_all()

    四:数组
    1.数组分类:
    根据维度分:一维数组,多数组。
    根据索引分:索引数组,关联数组。

    2.数组定义:
    $attr = array(); 常见定义方式
    $attr[] = 5; 赋值定义

    定义索引数组:$attr = array(1,2,3,4);
    定义关联数组:$attr = array("key"=>"value");

    3.索引数组取值:$attr[0];
    关联数组取值:$attr["key"];

    4.遍历数组:
    for循环,只能遍历索引数组
    for($i=0;$i<count($attr);$i++)
    {
    $attr[$i];
    }
    foreach遍历,可以遍历索引和关联数组
    foreach($attr as $v)
    {
    $v;
    }
    foreach($attr as $k=>$v)
    {
    $v;
    }

    each()和list()方法结合
    each():返回数组里面当前元素的key和value值,返回的是一个数组的形式
    list():将右侧数组的值分别赋给一组变量 list($a,$b) = $attr;

    指针遍历
    取当前指针指向的元素的值:current();
    取当前指针指向的元素的key:key();
    将指针指向下一个元素:next();
    将指针指向上一个元素:prev();
    重置指针:reset();
    将指针指向最后一个元素:end();

    5.数组的常用函数
    取数组长度:count();
    向数组添加元素:array_push();
    判断数组里面是否包含某个元素:in_array();
    合并数组:array_merge();
    去重复:array_unique();
    删除数组元素:unset();
    重新索引:array_values();
    翻转数组:array_reverse();
    数组元素排序:array_multisort();


    五:面向对象 OOP

    1.类和对象 类是由众多对象抽象出来的 对象是类实例化出来的

    2.类的定义 class Ren { }
    成员变量 成员方法 构造函数 析构函数 __get() __set() __tostring()
    __clone()

    3.访问修饰符: public 共有的 private 私有的 protected 受保护的

    4.三大特性
    封装:目的 做法
    继承:概念 特点 函数重写
    多态:概念 条件

    5.静态 static 静态成员是属于类的,普通成员是属于对象的 Ren::Show();

    6.抽象类:abstract 不能被实例化 用作父类
    接口:interface

    7.克隆对象 clone

    8.构造函数 __construct()
    写法特殊 执行时间特殊

    9.加载类
    include("");
    include "";
    require("");
    require "";
    require_once("");
    require_once "";
    自动加载类 __autoload()

    10.单列模式

    11.工厂模式

    六:数据访问

    1.myqli
    $db = new mysqli(服务器,用户名,密码,数据库);
    mysqli_connect_error();
    $result = $db->query(SQL语句);
    $result->fetch_row();
    2.pdo
    $pdo = new PDO(DNS,用户名,密码);
    $stm = $pdo->prepare(SQL语句);
    $stm->excute();
    $stm->fetch_row();

    ?占位 :字符串

    七:Jquery Ajax

    1.选择器 $()
    根据id选 $("#id") 返回一个jquery对象 从jquery对象里面取DOM对象 取索引0[0]
    根据class选 $(".class")
    根据属性选 $("[name=a]")
    根据标签名选 $("div")

    2.操作内容
    操作非表单元素
    文本 text();
    html代码 html();
    操作表单元素:
    val();

    3.操作属性
    添加设置属性 attr(属性名,属性值);
    获取属性 attr(属性名);
    移除属性 removeAttr(属性名);

    4.操作样式
    获取样式 css(样式名);
    添加设置样式 css(样式名,样式值);

    5.事件
    $("#id").事件名(function(){})
    $("#id").bind(事件名,function(){}); 绑定事件
    $("#id").unbind(事件名); 移除事件

    6.Ajax
    async:异步
    url:调用的处理页面
    data:传递的数据JSON格式
    type:数据传递的方式 POST或GET
    dataType:返回数据类型 TEXT JSON XML
    success:回调函数
    error:当调用出错执行的方法

    7.JSON
    {key:value}
    XML
    必须有一个根
    有开始就要有结束
    大小写敏感
    标签名可以自定义
    可以加属性

    八.会话控制
    SESSION
    存储在服务器 有默认过期时间 每个用户存一份 可以存储任何类型数据
    必须开启才能使用 session_start(); 必须写在第一行
    $_SESSION["uid"] = "lisi";
    安全,占资源
    COOKIE
    存储在客户端 默认是没有过期时间 每个用户存一份 只能存储字符串
    setcookie(名,值); 设置cookie
    $_COOKIE["uid"]; 读取cookie
    不安全,不占资源

    九:文件

    1.文件上传
    做文件上传表单 enctype
    $_FILES数组取文件信息
    控制上传格式和大小
    造存储路径(处理文件名) 改文件名 建文件夹
    判断文件是否存在
    上传保存 move_uploaded_file();
    转编码格式 iconv(原编码,目标编码,字符串);

    2.文件操作
    文件类型: filetype() is_file() is_dir()
    路径: ./ ../ /
    遍历目录: glob(); 目录资源
    新建目录:mkdir();
    删除目录:rmdir();
    移动目录:rename();

    新建文件:touch();
    删除文件:unlink();
    复制文件:copy();

    获取文件内容:file_get_contents();
    写入内容:file_put_contents();

    文件资源
    打开文件资源:fopen();
    关闭文件资源:fclose();
    读取文件内容:fgetc() fgets() fread() fwrite()



  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/bilibiliganbei/p/5641580.html
Copyright © 2020-2023  润新知